抱歉问了这么简单的问题。我想在#ifdef指令中设置OR条件。 怎么做呢? 我试着

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

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


当前回答

#ifdef中的OR条件

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

or-

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

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


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


进一步的,

如果定义了LINUX &&定义了ANDROID XOR: #如果已定义LINUX ^已定义ANDROID

其他回答

像这样

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

#ifdef中的OR条件

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

or-

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

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


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


进一步的,

如果定义了LINUX &&定义了ANDROID XOR: #如果已定义LINUX ^已定义ANDROID