我有以下问题:我需要定义一个必须使用的宏而不是使用常规的C表达式。
例如我想要这个:
THREAD(FIRST)
......将由此替换
void THREAD_FIRST(void)
...代码中。
我试过这个:
#define THREAD(x) void THREAD_#x(void)
......但它没有用。也许不允许void
之后的空格。任何想法如何解决?
答案 0 :(得分:3)
您正在使用错误的预处理程序运算符,要使用##
进行令牌粘贴,而不是#
#define THREAD(x) void THREAD_##x (void)