Bonjour,
J'ai une question qui se révélera assez difficile. Dans la finalité je ne sais pas si c'est possible. C'est pour cela que je m'en remet à vous, car dans votre vie, vous avez pas voir un truc permettant de faire ce que je veux.
Je vais essayer d'être précis, car c'est un peu dur à expliquer.
J'ai un define comme celui ci:
Je veux faire un autre define comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define DEPTH 10
Plus précisément, je voudrais que dans DEPTH_STR 'DEPTH' soit remplacé par 10 ( la valeur que je lui donne ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define DEPTH_STR "Depth: DEPTH"
Bien entendu, dans la forme que je viens de donner, cela ne marche pas.
On pourrais faire ceci:
Mais cela ne marche pas plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define DPETH_STR "Depth: "DEPTH""
Une autre possibilité est:
Cela est correct, mais lorsque j'apelle ma macro dans mon code comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define DEPTH_STR(value) ("Depth:"#value"")
Le precompilateur ne va pas remplacer DEPTH par la valeur lui correspondant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 function(DEPTH_STR(DEPTH));
En fait, je crois qu'il faudrait indiquer au précompilateur une façon de dire, je veux que tu traite mon 'DEPTH' avant de traiter DEPTH_STR ( comme ça il passerai la valeur de DEPTH et tout irai bien ).
Mais je ne sais si c'est possible de donner une priorité dans le traitement des define ...
Si quelqu'un à une idée, n'hésitez pas à le dire,
Merci
( En pièces jointes, vous pouvez trouver un programme qui permette de faire des test sur le problème )
Partager