对不起,提出非常基本的问题。我想在#ifdef指令中设置OR条件。 如何做到这一点? 我试图如何在OR条件下使用#ifdef?
#ifdef LINUX | ANDROID
...
..
#endif
它没有工作?什么是正确的方法?
对不起,提出非常基本的问题。我想在#ifdef指令中设置OR条件。 如何做到这一点? 我试图如何在OR条件下使用#ifdef?
#ifdef LINUX | ANDROID
...
..
#endif
它没有工作?什么是正确的方法?
像这样
#if defined(LINUX) || defined(ANDROID)
此工程的#ifdef X ||年。 所以,如果你想设置FOO = 0x55的,如果x或y如果您在使用`定义
#ifdef x
FOO=0x55;
#else
#ifdef y
FOO=0x55;
#endif
#endif
||是一个包容性的OR,但是发布的代码是针对一个“独家OR”。请参阅http://stackoverflow.com/questions/3246249/what-is-the-difference-between-inclusive-and-exclusive-或 – 2015-09-25 01:08:16
@Charles Burns:上面的代码并不是独家或正如你所说的。即使宏x和y都被定义,代码仍然会在两个宏中的一个中设置FOO = 0x55,从而产生所需的效果。您的评论具有误导性,完全不正确。 – goldenmean 2017-09-11 09:34:37
|'为“或”在C条件语句也一样,你就错了。 – 2015-09-25 01:00:41