如何在单个 #ifdef 中检查是否定义了多个宏?

18

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

如果像普通的if条件语句一样做,可以使用||很容易实现:

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

但据我所知,#ifdef语句中没有||运算符。那么我该如何通过单个#ifdef语句来检查__APPLE____linux是否被定义?


еҰӮжһңиҖғиҷ‘вҖңеҸҜеңЁOS X / iOSе’ҢLinuxдёҠдҪҝз”ЁвҖқпјҢйҡҫйҒ“дёҚеә”иҜҘжЈҖжҹҘPOSIXеҸҜз”ЁжҖ§еҗ—пјҹ - user529758
可能是如何在OR条件下使用#ifdef?的重复问题。 - Itay Grudev
2个回答

35

在单个#ifdef中,你无法做到只用一个#if吗?

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

如果您更喜欢的话,这也可以起作用

#if defined __APPLE__ || defined __linux

3

我的C++代码中有这一行。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接