Me gustaría obtener el preprocesador C para generar macros para mí (es decir, estoy usando solo C99). Me gustaría escribir una macro¿Macros de macroproducción en C?
#define make_macro(in) <...magic here...>
y cuando pongo
make_macro(name1)
make_macro(name2)
adelante en el código, que se expandiría para
#define name1(...) name1_fn(name1_info, __VA_ARGS__)
#define name2(...) name2_fn(name2_info, __VA_ARGS__)
y yo entonces sería capaz de utilizar nombre1 y name2 como funciones (macro implementadas). Creo que estoy atascado usando macros en ambos pasos: tiene sentido usar una macro para volver a llenar repetidamente una plantilla, y el manejo vario de argumentos no funcionará excepto a través de una macro.
Así que lo que entra en el < ... magia aquí ...> marcador de posición para hacer esto? En este punto, estoy empezando a creer que no es posible en C99, pero tal vez me faltan algunos detalles de sintaxis.
¿por qué una macro? No entiendo este punto de "repetidamente volver a llenar una plantilla". ¿Qué plantilla y qué recarga? –