2
爲什麼不能正常工作(它無法斷言...我不希望它執行)?設置操作系統標誌來測試操作系統的具體功能
#define OS_MACOSX 0
#if defined(OS_MACOSX)
fructose_assert(1==2);
#endif
爲什麼不能正常工作(它無法斷言...我不希望它執行)?設置操作系統標誌來測試操作系統的具體功能
#define OS_MACOSX 0
#if defined(OS_MACOSX)
fructose_assert(1==2);
#endif
因爲您使用的是錯誤的測試。
OS_MACOSX
IS被定義爲...到0
。你問是否是定義爲。而不是詢問如果是設置:
#if OS_MACOSX
fructose_assert(1==2);
#endif
如果它被定義的東西,計算結果爲零,或者根本沒有定義,則#if
將跳過代碼。任何非零值,並且#if
條件已滿足且代碼已編譯。
是的,你是對的。謝謝! – user3564870
你定義的東西,然後檢查是否被定義,但不知道爲什麼能產生如此?我不明白你爲什麼感到困惑。 –