如何在具有OR条件的情况下使用#ifdef?


244

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

#ifdef LINUX | ANDROID
...
..
#endif 

它不起作用?正确的方法是什么?


15
如果您也在|C条件语句中使用“或”,那么您做错了。
Jonathon Reinhart 2015年

Answers:


523

像这样

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

24

#ifdef中的OR条件

#if defined LINUX || defined ANDROID
//...
#endif

要么-

#if defined(LINUX) || defined(ANDROID)
//...
#endif

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


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


进一步-

  • 和: #if defined LINUX && defined ANDROID
  • 异或: #if defined LINUX ^ defined ANDROID
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.