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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.