magestik a écritC'est bon j'ai mis en ligne. Par contre j'aurais une ou deux questions par rapport à des trucs que je comprends pas
- A quoi sert le config.h ? Je pense que c'est un truc "spécifique" à C ? Pour renseigner le nom et la version non ?
ça sert à faire des define qui pourrais être utile pour régler certain paramètre du programme, je t'ai mis par exemple le nom du programme et sa version, mais bon, pour l'instant ça ne sert pas a grand chose, vu que les macros PROGRAM_NAME et PROGRAM_VERSION ne sont utilisées nulle pars dans le programme, mais par exemple pour choisir le mode ANAGLYPHE, ou FRAMESEQUENTIAL ou peu importe, ça serait bien que ça se trouve là , avec un beau commentaire pour bien expliquer. Ensuite ce fichier est inclus dans chaque fichiers compilés grâce à l'option -include ./config.h que j'ai mis dans le Makefile
magestik a écrit- Dans wrappers.h tu inclue glQuadBufferEmu.h juste pour les variables globales, c'est ça ? Pourquoi on mettrait pas les variables globales "extern" directement dans wrappers.h et on les supprime de glQuadbufferEmu.h (vu qu'elles sont définis directement dans le code du main.c) Je t'avoue que je me pose beaucoup de questions par rapport aux inclusions entre les différents .h et les définitions extern ou non. Le fait que tu aies fait des changements là dessus me permet de te poser la question ^^ Comme je l'ai dit je suis "débutant" en C et ces histoires de Headers c'est complètement nouveau pour moi et je suis un petit peu perdu ^^
Tient, c'est vrai, il n'y a pas besoin de ça, tu peux le virer de wrapers.h ça n'a rien à faire là vu que c'est implémenté dans main.c.
donc pour expliquer un peu quand tu as besoin de faire une variable globale qui sera utilisé dans d'autre .c de ton programme, il faut procéder comme ça:
tu as ton fichier qui contient ta variable globale, dans le .c , c'est la place réservé a son implémentation (int variable_globale
= 1;), dans le header de ce fichier, il dois se trouver la mention (extern int variable_globale;) comme ça au moment de compiler l'autre fichier .c qui aura besoin de cette variable globale, en incluant le header du premier fichier, il va comprendre que cette variable existe autre pars dans le programme (dans le premier fichier) et au moment d'éditer les liens... enfin il fera le lien quoi ^^. il faudrait d’ailleurs que je regarde un peu moins superficiellement toutes ces variables globales et voir si on peut pas mieux structurer tout ça.
Bon j’espère que c'est un peu compréhensible :-/
magestik a écrit- Les options des compilations que tu as rajoutés servent à quoi ? -Wextra -Wwrite-strings -Wunreachable-code
C'est des warning supplémentaires à la compilation, ça m'a permis de voir par exemple le fait que tu utilisais des char* à la place de const char*, c'est pas un gros gros bug, mais des fois ça aide.
gcc.gnu.org/onlinedocs/gcc/Warning-Options.html