Dans la ligne de commande de gcc, je veux définir une chaîne de caractères telle que -Dname=Mary
puis dans le code source je veux printf("%s", name);
pour imprimer Mary
.
Comment pourrais-je le faire ?
Merci beaucoup Arthur. Vous devez être un expert en C. Autre question : Je préfère la deuxième option. Quand j'utilise STRINGIZE_VALUE_OF(name), il le traduit par "1", dans le cas où j'ai gcc -Dname=Mary -DMary. Y a-t-il un moyen de laisser gcc arrêter l'interprétation de Mary ?
11 votes
Je vous recommande vivement d'utiliser les majuscules (
-DNAME=\"Mary\"
)pour les jetons que vous allez définir de cette manière, afin qu'ils ressemblent à d'autres macros.0 votes
La macro dans la question de la chaîne : stackoverflow.com/questions/240353/