最佳答案
I want to create a C macro that creates a function with a name based on the line number. I thought I could do something like (the real function would have statements within the braces):
#define UNIQUE static void Unique_##__LINE__(void) {}
Which I hoped would expand to something like:
static void Unique_23(void) {}
That doesn't work. With token concatenation, the positioning macros are treated literally, ending up expanding to:
static void Unique___LINE__(void) {}
Is this possible to do?