![]() |
[C TOTW 1] Trick avec #include - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25) +--- Sujet : [C TOTW 1] Trick avec #include (/showthread.php?tid=3729) |
[C TOTW 1] Trick avec #include - ark - 25-08-2014 Hello, A la vue des dernières discussions sur le langage C, je me suis dit que pourquoi ne pas faire un post chaque semaine pour vous montrer un truc sympa, pratique, connu ou pas du tout, bref, c'est le "tip of the week" (TOTW) !! Et je vais essayer de vous en faire un chaque lundi. =) Du coup pour ce premier, je vais vous montrer un truc qui se base sur la commande de préprocesseur include. On la connait tous, on l'utilise tous dans le même genre de situations, mais avez vous déjà pensé a la détourner un peu de son utilisation initiale ? Oui pour certains, non pour d'autre? Voila ce que je vous propose: Code C :
Avec bien évidement le fichier file.txt qui va avec: Code C :
Qu'est ce que ça apporte? Et bien dans ce cas j'utilise un tableau a deux dimension, qui me permet de stocker des chaines de caractères, ça pourrait être utile dans le cas d'un fichier de configuration pré-compilation par exemple. Je trouve ce truc assez fun, parce que ca peut s’avérer très pratique, et pour le coup c'est vraiment simple a mettre en place. Comment ça marche, c'est très simple aussi, c'est le même fonctionnement qu'un #include normal en fait ! Il va juste inclure le contenu du fichier file.txt au bon endroit. voili voilou, n'hésitez pas si vous avez des questions ! RE: [C] tip of the week 1 - notfound - 25-08-2014 Alors là, merci beaucoup car je ne connaissais pas du tout. C'est super pratique et qui plus est très simple ! RE: [C] tip of the week 1 - ark - 25-08-2014 Ravi que ca te fasse plaisir :p N'hésitez pas à partager vos exemples d'utilisations de ce truc la si vous l'utilisez dans le cadre d'un projet !! RE: [C] tip of the week 1 - fr0g - 25-08-2014 Je note ![]() ![]() RE: [C] tip of the week 1 - sakiir - 26-08-2014 putain ouai Notfound , ca aurai pu servir pour le canyourunit ![]() RE: [C] tip of the week 1 - Atlas - 26-08-2014 Merci beaucoup de l'astuce , C'est tout bête mais il fallait y penser ! Avec ça je me mettrais presque à apprecier les lundi :p RE: [C] tip of the week 1 - Junky - 26-08-2014 Clairement un bon trick... Dans la continuïté de celui-ci mais en bash. Certainement plus connu mais bon ca fait pas de mal de le revoir. ![]() Code BASH :
RE: [C] tip of the week 1 - notfound - 26-08-2014 (26-08-2014, 09h52)Junky a écrit : Clairement un bon trick... Ou Code BASH :
#!/bin/bash RE: [C] tip of the week 1 - gruik - 26-08-2014 c'est dommage qu'on puisse pas #include un fichier directement dans un tableau de char, ca aurait permis par exemple d'inclure directement les ressources (images, sons et autres) dans le binaire lorsqu'on fait une demo ou un jeu par exemple, le moyen le plus simple que j'ai trouvé étant de transiter par xxd -i pour récupérer les données au format C RE: [C] tip of the week 1 - wapiflapi - 29-08-2014 (26-08-2014, 19h50)gruik a écrit : c'est dommage qu'on puisse pas #include un fichier directement dans un tableau de char, ca aurait permis par exemple d'inclure directement les ressources (images, sons et autres) dans le binaire lorsqu'on fait une demo ou un jeu par exemple, le moyen le plus simple que j'ai trouvé étant de transiter par xxd -i pour récupérer les données au format C Faut pas chercher à faire ca en C, c'est pas fait pour. Tu veux expliquer quelque chose au linker donc man ld: Code : FLAGS:= -Wl,--format=binary -Wl,yourfile -Wl,--format=default RE: [C] tip of the week 1 - Commodor - 01-09-2014 Dire que je me faisais chier comme un phoque pour lire et récupérer les variables dans mes fichiers de configuration... ![]() très pratique cette petite technique ![]() |