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?

questionAnswers(1)

yourAnswerToTheQuestion