Così qui sono alcune macro che ho creato:C: Espandere macro con Token incollare
#define MODULE_NAME moduleName
#define MODULE_STRUCT MODULE_NAME ## _struct
#define MODULE_FUNCTION(name) MODULE_NAME ## _ ## name
Dopo queste definizioni, vorrei i seguenti espansioni per accadere:
MODULE_STRUCT --> moduleName_struct
MODULE_FUNCTION(functionName) --> moduleName_functionName
Tuttavia, quando ho aggiungi gli operatori di incollaggio dei token, l'espansione di MODULE_NAME all'interno di MODULE_FUNCTION e MODULE_STRUCT non avviene più ... Sembra che MODULE_NAME sia considerato come una stringa letterale quando li si incolla.
C'è un modo per aggirare questo?