cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
6 févr. 2009 à 16:27
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
6 févr. 2009 à 17:37
Salut,
Je cherche désespérément à faire une macro qui renverrait une chaîne comprenant deux éléments séparés par une virgule.
printf(TO_STRING(a, b));
-> printf("a, b");
Celle-ci fonctionnerait très bien s'il n'y avait pas la virgule :
#define TO_STRING(val) #val
Je sais que je dispose de # pour faire une chaîne à partir d'un argument de macro, de ## pour concaténer deux arguments de macro, que les arguments sont évalués avant la substitution sauf si on utilise # ou ##... Et pourtant non je ne vois pas de solution à ce casse tête. On utilise parfois des parenthèses pour gérer les , mais je ne vois pas comment faire dans mon cas. Je ne veux pas "(a, b)". Par contre ("a, b") ne me dérangerait pas.
(
L'objectif au final étant de faire du code asm inline portable.