Commande préproc et inclusion - C - Programmation
Marsh Posté le 12-07-2005 à 18:20:59
on ne fait pas comme ca
on laisse toujours la déclaration dans le .h :
Code :
|
et l'initialisation dans le fichier .c :
Code :
|
Marsh Posté le 12-07-2005 à 19:02:07
pgaranx a écrit : je désire utiliser pour plusieurs fichiers c, un meme fichier de déclaration h, contenant les déclarations de ressources communes, j'écris donc dans mon fichier h
|
Marche pas. Les headers doivent contenir la déclaration, et un seul.c doit contenir la définition.
http://mapage.noos.fr/emdel/notes.htm#definitions
Citation : Qu'en pensez vous ? |
Que tu n'as pas compris à quoi servait les protections contre les inclusions multiples.
Un peu de lecture :
http://mapage.noos.fr/emdel/codage.htm
Marsh Posté le 12-07-2005 à 18:17:34
Petite question concernant des déclarations de variables:
je désire utiliser pour plusieurs fichiers c, un meme fichier de déclaration h, contenant les déclarations de ressources communes, j'écris donc dans mon fichier h
#ifndef INCLUSION
#define INCLUSION
int a;
...
#else
extern int a;
...
#endif
Je m'attends donc à obtenir la déclaration classique lors de la première inclusion, et des déclarations en extern pour les suivantes.
Il semblerait que ceci ne fct pas puisque j'obtiens une erreur au link sur de multiples déclarations de ma variable a. Il semble donc que mon #define INCLUSION n'est pas pris en compte.
Qu'en pensez vous ?