Bonjour,
j'ai écrit 5 fichiers (tiré du Net) de manière à générer un problème d'inclusions multiples à la compilation. C'est pour ma culture générale.
Fichier main.c
Fichier octets.c:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "bits.h" #include "octets.h" int main() { printf("Taux = %f\n", TAUX); exit(EXIT_SUCCESS); }
Fichier bits.c:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "octets.h" void tailleOctet() { }
Fichier octets.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "bits.h" int etat() { return 0; }
Fichier bits.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #include "bits.h" #define TAUX 18.4
La variable pos_bit_t va donc se retrouver définie deux fois ce que me confirme le résultat généré avec un gcc -E main.c octets.c bits.c.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 typedef unsigned char pos_bit_t;
Or à la compilation finale, aucun message d'erreur...
Y a-t-il une erreur quelque part ou est-ce normal ou gcc est il vraiment très fort ?
Merci
Partager