如何将#ifdef与OR条件一起使用?

Who*_*ami 231 c macros

很抱歉提出非常基本的问题.我想在#ifdef指令中设置OR条件.怎么做 ?我试过了

#ifdef LINUX | ANDROID
...
..
#endif 
Run Code Online (Sandbox Code Playgroud)

那没起效?什么是正确的方法?

zvr*_*rba 503

像这样

#if defined(LINUX) || defined(ANDROID)
Run Code Online (Sandbox Code Playgroud)


Min*_*mal 8

#ifdef中的OR条件

#if defined LINUX || defined ANDROID
//...
#endif
Run Code Online (Sandbox Code Playgroud)

要么-

#if defined(LINUX) || defined(ANDROID)
//...
#endif
Run Code Online (Sandbox Code Playgroud)

上面的两个都是相同的,您使用哪个取决于您的偏好。


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


进一步-

  • 和: #if defined LINUX && defined ANDROID
  • 异或: #if defined LINUX ^ defined ANDROID