我有办法在C中执行以下操作吗?
#ifdef MACRO_1 && MACRO_2
...
#endif
直接写这个会导致编译错误。
答案 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