Bonjour,
Je coince sur un probleme d'écriture.
J'ai ecris du code suivant ,
Main.c :
Cela fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include <....//mes include systeme ..... typedef struct { tile_t date ......... ....... } Mesures; #include "....."//mes include locaux int affOLED(Mesure *); int main(int argc, char** argv) { ......//des definitions Mesures Mes; ......... // du code AffOled(&Mes); .........//du code } int AffOled(Mesures *Mes) { struct tm ld; ld= *localtime(&Mes->date); ......//du code }
Maintenant , comme le code de la fonction AffOLED() devient très important, je désire mettre cette fonction dans un fichier .c séparé.
J'ai donc écris un AffOLED.c ,
Puis j'ai créé un .h comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #.......//include systeme #include "Affiche.h" int AfficheOled(Mesures *Mes) { char LaDate[50]; struct tm *ld; ld= localtime(& (Mes->date)); ......................... }
j'ai rajouter #include "Affiche.h" dans le main.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #ifndef __AFFICHE #define __AFFICHE extern Mesures *; extern int AfficheOled(Mesures *); #endif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef struct{ } Mesures; #include "Affiche.h" int main(...) { .... }
Et la, plus rien ne vas......
J'ai essayer avec diverses versions du .h,
extern struct Mesures *Mes;
extern typedef Mesures *Mes;
extern typedef struct Mesures *Mes;
mais je crois surtout que je n'ai pas encore bien assimilé les pointeurs, les typedef, et autre subtilités du multi fichier en C
Si quelqu'un avait une idée, ou une correction.....
Pour info ce code est ecrit en C sous linux rasbian avec l'éditeur geany.
Un grand merci pour m'allumer la lumière
Michel
Partager