在#ifdef中使用多个术语

时间:2017-07-13 21:59:26

标签: c

我有办法在C中执行以下操作吗?

#ifdef MACRO_1 && MACRO_2
...
#endif

直接写这个会导致编译错误。

1 个答案:

答案 0 :(得分:2)

This SO answer on - Is #if defined MACRO equivalent to #ifdef MACRO?解释得非常好。

不使用#ifdef,而是使用#if defined(...)。由于defined(...)将评估为0或1,因此它将表现为正常#if

代码如下所示:

#if defined(MACRO_1) && defined(MACRO_2)
...
#endif