Bru*_*uce 6 c macros conditional-compilation
如果定义了两个宏中的任何一个,我想要包含一段代码
#ifdef MACRO1 || MACRO2
void foo()
{
}
#endif
Run Code Online (Sandbox Code Playgroud)
我如何在C中完成此操作?
Mat*_*lia 11
此外#ifdef,预处理器支持更通用的#if指令; 实际上,#ifdef MACRO是一个快捷方式#if defined(MACRO),其中defined一个"预处理器函数",如果定义了宏,则返回1; 所以,你可以这样做:
#if defined(MACRO1) || defined(MACRO2)
void foo()
{
}
#endif
Run Code Online (Sandbox Code Playgroud)
如果需要,这里是 NOT 版本:
#if !defined(MACRO1) && !defined(MACRO2)
...
#endif
Run Code Online (Sandbox Code Playgroud)