Bre*_*ett 0 c macros c-preprocessor
可能重复:
用于在C中连接两个字符串的宏
我有一个看起来像这样的函数:
bool module_foo_process(void* bar) { return doMagic(bar); }
Run Code Online (Sandbox Code Playgroud)
现在,我想用宏生成它.例如,上述函数的宏看起来像这样:
MY_AMAZING_MACRO(foo)
Run Code Online (Sandbox Code Playgroud)
这允许我写下这样的东西:
MY_AMAZING_MACRO(awesome)
Run Code Online (Sandbox Code Playgroud)
得到这个:
bool module_awesome_process(void* bar) { return doMagic(bar); }
Run Code Online (Sandbox Code Playgroud)
关于如何在C中实现这一点的任何想法?
#define MY_AMAZING_MACRO(name) \
bool module_##name##_process(void* bar) { return doMagic(bar); }
Run Code Online (Sandbox Code Playgroud)