使用带有宏的逻辑运算符

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)


DrC*_*DrC 5

#if defined(MACRO1) || defined(MACRO2)
Run Code Online (Sandbox Code Playgroud)


nvd*_*nvd 5

如果需要,这里是 NOT 版本:

#if !defined(MACRO1) && !defined(MACRO2)
...
#endif
Run Code Online (Sandbox Code Playgroud)