【问题标题】:Using multiple terms in a #ifdef [duplicate]在#ifdef 中使用多个术语[重复]
【发布时间】:2017-12-18 21:12:53
【问题描述】:

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

#ifdef MACRO_1 && MACRO_2
...
#endif

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

【问题讨论】:

  • @PaulR 我认为虽然链接的答案回答了两个问题,但链接的问题并不相同
  • 我认为它足够接近,但我会检查其他可能更接近的重复项。不过,请随意投票以重新开放 - 毕竟,这就是系统的运作方式......

标签: c


【解决方案1】:

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

【讨论】:

  • @PaulR 谢谢!没看到
猜你喜欢
  • 2013-07-14
  • 1970-01-01
  • 2011-11-06
  • 1970-01-01
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多