include et variable globale
Bonjour et bonne annee a tous!
Visiblement en cette nouvelle annee je me rend compte que j'ai un probleme avec les variables a partager a plusieur fichier.
Voici le probleme:
J'ai un projet avec N fichier .c, dans chaque fichier source il y a aumoins une fonction qui accede a une ressource externe (USB, Serveur X...) ce que je veux faire c'est creer 3 variables:RES_INFO RES_ACCESS et RES_ERROR. ces variables sont dans ressource.h (qui n'a pas de ressource.c) et doit etre inclut dans tout les .c. Ces deux variables serve a signaler quelle fonction a accede a quoi et quelle erreur genre
fonction getRadarInfo:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| struct USBstr *getRadarInfo(struct *usb)
{
RES_ERROR=NONE;
RES_INFO=DEVICE_USB ;
RES_ACCESS=0xA1; //code d'identification de la fonction appellante
...
... //fait quelque chose avec l'usb
if(usb->result==NULL)
{
RES_ERROR=ERROR_DEVICE_USB_DATA;
...
}
...
} |
le but est de pourvoir lire savoir a tout moment qui est le dernier a avoir vais appelle a un des devices inscrit dans la liste et connaitre la nature de l'erreur.
le probleme c'est que a la compilation on me parle de multiple declaration des 3 variable
Code:
1 2 3 4 5 6 7 8
| #ifndef __RESSOURCE_H_
#define __RESSOURCE_H_
unsigned int RES_ERROR;
unsigned char RES_INFO; //maximum 256 devices
unsigned int RES_ACCESS;
#endif |
donc des que le premier fichier a inclut les autres se pleignent.