對不起,提出非常基本的問題。我想在#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