2016-12-15 111 views

回答

3

因爲您使用的是錯誤的測試。

OS_MACOSX IS被定義爲...到0。你問是否是定義爲。而不是詢問如果是設置

#if OS_MACOSX 
    fructose_assert(1==2); 
#endif 

如果它被定義的東西,計算結果爲零,或者根本沒有定義,則#if將跳過代碼。任何非零值,並且#if條件已滿足且代碼已編譯。

請參閱此相關的問題:Why do people use #ifdef for feature flag tests?

+0

是的,你是對的。謝謝! – user3564870