WhitePoney a écrit a écrit :
Même en mettant des #ifndef _TDEJAVENULAIMBECILE_ #define _TDEJAVENULAIMBECILE_ ... bein ça change pas pourtant ça devrait non ?!
|
Pas forcément.
Lorsque tu compiles ton projet, chaque fichier C (ou C++) est compilé séparément. Donc si chaque fichier .c fait un include de ce fichier .h, alors il n'y a pas de raison qu'il y est une erreur de compil.
Par contre, lors du link, le linker va crier car le symbol est défini dans chaque fichier objet .obj
Si c'est un #define, cela ne devrait pas poser de problème car tout est fait lors de la précompilation, et la variable est remplacée par se 'vraie' valeure. Le problème ne doit se poser que si tu définies une variable.
genre
#ifndef XXX
#define XXX
const int MYINT=7;
#endif
alors si le header qui contient ces lignes est inclu par plusieurs fichiers source, ca ne va pas passer au link, même si ca peut passer à la compil.
Donc c'est louche ton truc, par ce que un #define devrait passer.