【发布时间】:2015-02-04 13:09:19
【问题描述】:
我想将预处理器指令嵌入到函数名中。基本上我想制作一个宏,它将预处理器定义作为参数并将它定义的 VALUE 连接起来以获取函数名称。
基本上是这样的:
#define PREFIX foo
#define CALL(P, x) _##P_bar(x)
...then
CALL(PREFIX, x) should become _foo_bar(x)
不幸的是,这导致_P_bar 而不是_foo_bar。
有没有可能让它像上面那样工作?
【问题讨论】:
-
请注意,全局范围内以下划线开头的名称是为编译器和库保留的。你不应该使用这些。
标签: c macros c-preprocessor preprocessor-directive