【发布时间】:2010-03-03 13:17:20
【问题描述】:
我有一堆来自供应商工具的生成函数需要我定义。 由于每个函数的内部功能完全相同,我想我可以使用宏来让我的生活更轻松。
这是有问题的警告:
pasting "<function_name>" and "(" does not give a valid preprocessing token
现在,我将我的宏定义如下:
#define HANDLE_FUNCTION(x) \
void <function_prefix>_ ## x ## (void) \
{ \
x ## _Flag = TRUE; \
}
然后在我的代码中写:
HANDLE_FUNCTION(fn1)
HANDLE_FUNCTION(fn2)
...等等
对为什么会发生这种情况有任何想法吗?
【问题讨论】:
标签: c macros c-preprocessor stringification