Bonjour tout le monde,
j'ai commencé un petit projet de c embarqué mais je ne suis pas un pro de ce langage. J'ai un doute sur la manière de déclarer certaines de mes variables.
Je vous explique, j'ai une variable, Timeout, que j'utilise dans plusieurs de mes .c, et je me pose la question de l'endroit où la déclarer car je me suis laissé entendre qu'il ne fallait la déclarer qu'une seule fois (merci de confirmer ou d'infirmer ce point car je ne suis pas sur).
Je l'ai donc déclarée dans le fichier 1.h, car je l'utilise dans le 1.c et là pas de problème, par contre dans le 2.c où j'utilise aussi la variable le compilo m'indique:
J'ai essayer d'inclure le 1.h dans le 2.c mais le compilo me renvoyait cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part symbol 'Timeout' has not been defined
Donc j'ai défini Timeout dans le fichier 2.h en tant qu'extern et cela fonctionnait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Error - symbol 'Timeout' has multiple definitions.
Seulement je ne sais pas si j'ai le droit de le faire, et ça me pose un problème car dans la suite de mon projet je vais devoir déclarer un grand nombre de variables et je préférerai n'avoir à le faire qu'une seule fois.
J'espère avoir été claire.
Merci pour votre aide
Guilermo
Partager