如何使用#ifdef与或条件?

抱歉问了这么基本的问题。我想在#ifdef指令中设置OR条件。 怎么做呢? 我试着< / p >
#ifdef LINUX | ANDROID
...
..
#endif

不管用吗?正确的方式是什么?

159610 次浏览

像这样

#if defined(LINUX) || defined(ANDROID)

#ifdef中的OR条件

#if defined LINUX || defined ANDROID
// your code here
#endif /* LINUX || ANDROID */

或-

#if defined(LINUX) || defined(ANDROID)
// your code here
#endif /* LINUX || ANDROID */

以上两种都是一样的,你用哪一种仅仅取决于你的口味。


注:: #ifdef只是#if defined的简写形式,但是不支持复杂条件。


进一步的,

  • 和:#if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID