2009-10-16 7 views
1

Je dois inclure un fichier d'en-tête qui contient certaines variables globales (pas le mien donc je ne peux pas le changer).Y compris le fichier d'en-tête avec la variable globale

Comment faire pour que les variables du fichier inclus soient considérées comme 'extern' dans tous les cas sauf un?

+0

Est-ce que "contenir" signifie "déclarer" ou "définir"? – sellibitze

Répondre

3

Vous ne pouvez pas. Copiez l'en-tête et ajoutez vous-même extern.

+0

Il est un peu non standard que les fichiers d'en-tête soient écrits de la manière que vous décrivez pour cette raison. Normalement, vous voudriez que chaque fichier global soit déclaré avec 'extern', et que les déclarations de stockage de variables réelles soient faites ailleurs dans un fichier d'implémentation. –

0

Si les variables sont déclarées uniquement dans l'en-tête, mais qu'aucune valeur ne leur est affectée, vous pouvez le faire en fonction du compilateur. GCC, par exemple, a l'option -fno-common pour contrôler ce comportement.

Questions connexes