Bonjour,
J'ai (encore) un peu problème de macro
dans mon code c j'ai mis une inclusion comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /* ... */ typedef unsigned char* puchar; #define ELEMENT puchar #include "fichier.c" #undef ELEMENT /* ... */
avec fichier.c contenant ceci
le hic, c'est qu'il reste des ## "parasites" après passage du préprocesseur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct _CELL_##ELEMENT { ELEMENT elt; struct _CELL_##ELEMENT next; } CELL_##ELEMENT; typedef CELL_##ELEMENT* LISTE_##ELEMENT;
le ???.i
quelqu'un sait-il comment s'en débarasser ? (si c'est possible bien sûr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef unsigned char* puchar; # 1 "list.c" 1 typedef struct _CELL_##puchar { puchar elt; struct _CELL_##puchar next; } CELL_##puchar; typedef *CELL LISTE_##puchar;)
je pense que le problème vient du typedef qui aurait du me permettre d'avoir des types d'ELEMENT avec des espaces et des étoiles![]()
Partager