【问题标题】:How do I check if one of multiple macros is defined in a single #ifdef?如何检查多个宏之一是否在单个#ifdef 中定义?
【发布时间】:2024-01-24 01:12:01
【问题描述】:

我有一些 C++ 代码,如果定义了 __APPLE____linux 宏,我想执行一个操作。

如果我以普通的if 条件执行此操作,则使用|| 会很容易:

if (something || something) { .. code .. }

但据我所知,#ifdef 语句没有 || 运算符。如何检查 __APPLE____linux 是否使用单个 #ifdef 语句定义?

【问题讨论】:

标签: c++ c-preprocessor conditional-compilation


【解决方案1】:

您不能在单个#ifdef 中使用单个#if 来代替吗?

#if defined(__APPLE__) || defined(__linux)

如果您愿意,这也可以使用

#if defined __APPLE__ || defined __linux

【讨论】:

    【解决方案2】:

    在我的 C++ 中有。

    #if defined(__APPLE__) || defined(__linux)
      // ...
    #endif
    

    【讨论】:

      最近更新 更多