Así que aquí están algunas macros que he creado:C: Macro de expansión Con simbólico pegar
#define MODULE_NAME moduleName
#define MODULE_STRUCT MODULE_NAME ## _struct
#define MODULE_FUNCTION(name) MODULE_NAME ## _ ## name
Después de esas definiciones, me gustaría que los siguientes expansiones a suceder:
MODULE_STRUCT --> moduleName_struct
MODULE_FUNCTION(functionName) --> moduleName_functionName
Sin embargo, cuando agregue los operadores de pegado de tokens, la expansión de MODULE_NAME dentro de MODULE_FUNCTION y MODULE_STRUCT ya no ocurre ... Parece considerar MODULE_NAME como una cadena literal al pegarlos juntos.
¿Hay una manera de evitar esto?