Forcer le précompilateur à faire un calcul
Bonjour,
Voici mon problème:
Je défini plusieurs constantes avec des #define
Code:
1 2 3 4 5
|
#define CONST1 0x5
#define CONST2 0x10
#define CONST3 0x12
#define CONST4 (CONST1 + CONST2 - CONST3) |
Je souhaiterais pouvoir transformer la valeur de la constante CONST4 en chaîne de caractère grâce aux macros suivantes:
Code:
1 2 3
|
#define STR(s) #s
#define XSTR(s) STR(s) |
Mais pour cela il faudrait que le précompilateur calcule la valeur de CONST4, chose qu'il ne fait pas quand j'utilise ceci:
Code:
1 2
|
char strConst4[20] = XSTR(CONST4); |
Avec ce code, strConst4 contient la chaîne suivante "(CONST1 - CONST3 + CONST2)"...
Alors que je voudrais avoir "0x3".
Merci d'avance pour vos réponses
Alora