Est-il possible qu'un C programme pour imprimer la définition d'une structure ? Les noms des membres seraient très utiles, mais une simple liste ordonnée des types de données (et de la longueur des tableaux dans le cas des tableaux) serait suffisante.
J'ai cherché des directives de préprocesseur pour y parvenir, mais je n'en ai pas trouvé. Existe-t-il une directive du préprocesseur qui puisse récupérer une partie de code annotée et l'utiliser comme une variable #define. Si c'est le cas, je pourrais initialiser quelques variables sting avec pour contenir la valeur des variables #define.
Par exemple, une structure comme celle-ci est imprimée telle quelle
struct foo{
int a;
char b;
short arr[6];
}
ou comme ceci
struct s{
int m1;
char m2;
short m3[6];
}
Le formatage n'est pas important tant que la structure peut être recréée à partir des données. Ce type de document est donc tout à fait acceptable :
s{int,char,short[10]}
Pour information, il s'agit d'un appareil à base d'ARM dont les ressources sont limitées.
Je ne veux pas copier-coller manuellement le code de la structure dans une instruction d'impression. Si le code de la structure est modifié et que l'instruction d'impression ne l'est pas, les résultats seront erronés.