Preprocesor C określający generowane nazwy funkcji

Mam sytuację, w której mam kilka wygenerowanych funkcji i chciałbym wskazać im pewne ogólne funkcje, które stworzyłem (aby umożliwić mi ponowne użycie kodu podstawowego, gdy zmienione zostaną wygenerowane nazwy funkcji).

Zasadniczo mam listę nazw funkcji w następujący sposób:

void Callback_SignalName1(void);
void Callback_SignalName2(void);
...etc

Po ich wygenerowaniu chciałbym zdefiniować makro, aby umożliwić im wywoływanie generycznie. Mój pomysł był taki, ale nie miałem szczęścia go wdrożyć ... jakoC preprocesor przyjmuje nazwę makra zamiast tego, co makro jest zdefiniowane jako:

#define SIGNAL1 SignalName1
#define SIGNAL2 SignalName2

#define FUNCTION_NAME(signal) (void  Callback_ ## signal ## (void))
...
...
FUNCTION_NAME(SIGNAL1)
{
  ..
  return;
}

Problem polega na tym, że otrzymuję

void Callback_SIGNAL1(void)

zamiast

void Callback_SignalName1(void)

Czy jest dobry sposób na to?

questionAnswers(1)

yourAnswerToTheQuestion