Le titre est un peu abstrait mais comme je ne suis pas spécialiste des macro je ne suis pas sur de comment procéder.
Je voudrais savoir si il y a un moyen d'écrire une fonction macro prenant un paramettre qui sera utilisé pour générer un nom de macro et définir la valeur d'une autre définition macro.
Quelque chose qui ressemblerait à ça (sauf que ce code ci n'a pas le sens que je veux):
Je ne vois pas de façons de le faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #define GENERATE_MODULE_API( module_api_macro_name ) \ #ifdef module_api_macro_name##_EXPORTS \ #define module_api_macro_name##_API My_DllExport \ #else \ #define module_api_macro_name##_API My_DllImport \ #endif
Ce que j'aimerai faire c'est que chacun de mes projets DLL/SO puisse automatiquement générer une macro MON_MODULE_API qui serait l'équivalent de ceci:
Actuellement je dois faire un header par projet qui doit contenir ce code ci dessus (avec le nom du projet changé à chaque fois).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifdef MONPROJET_SYSTEM_EXPORTS #define MONPROJET_SYSTEM_API My_DllExport #else #define MONPROJET_SYSTEM_API My_DllImport #endif #endif
Si vous avez une manière de le faire plus générique, je suis preneur.
Partager