Bonjour,
Etant sur un projet de gestion de logs, j'aurais besoin de concaténer un identificateur avec la valeur d'une variable. Or, j'ai beau retourner le problème dans tous les sens, j'ai du mal à voir...
Par exemple, j'ai une variable n, dont je modifie la valeur au fur et à mesure du programme. J'ai une macro qui déclare une variable d'un identificateur donné, avec le suffixe dont la valeur est indiquée par n. Or, si je fais quelque chose comme ça :
J'imagine que je vais me retrouver avec un identificateur du type « prefixen » alors que je souhaitais avoir un identificateur « prefixe0 ». Ce que je demande est peut-être impossible, puisqu'il demande le contenu de la variable qui ne sera évaluée qu'à la compilation, et la phase du préprocesseur est antérieure. Merci de m'éclairer ; je m'avoue perplexe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int n = 0; #define FOO(id) \ int id ## n = 0; void bar(void) { FOO(prefixe); }
Bonne journée et merci d'avance.
Partager