C pré-processador definindo os nomes das funções geradas
Eu tenho uma situação onde eu tenho algumas funções geradas, e gostaria de apontá-las em algumas funções genéricas que eu criei (para permitir-me reutilizar o código de base quando os nomes de função gerados mudarem).
Essencialmente, eu tenho uma lista de nomes de funções da seguinte forma:
void Callback_SignalName1(void);
void Callback_SignalName2(void);
...etc
Uma vez que estes são gerados, eu gostaria de definir uma macro para permitir que eles sejam chamados genericamente. Minha ideia foi essa, mas não tive a sorte de implementá-la ... como oC O pré-processador usa o nome da macro em vez de como a macro é definida como:
#define SIGNAL1 SignalName1
#define SIGNAL2 SignalName2
#define FUNCTION_NAME(signal) (void Callback_ ## signal ## (void))
...
...
FUNCTION_NAME(SIGNAL1)
{
..
return;
}
A questão é que eu recebo
void Callback_SIGNAL1(void)
ao invés de
void Callback_SignalName1(void)
Existe uma boa maneira de contornar isso?