我有一個類庫包含下面的代碼片段:條件符號不起作用
#if (DEBUG && CLOUD)
return "DEBUG && CLOUD";
#elif (DEBUG && !CLOUD)
return "DEBUG";
#else
return "Release";
#endif
當我引用這個庫爲我的應用程序只拿到了調試或發行退貨,即使雲定義。
我有一個類庫包含下面的代碼片段:條件符號不起作用
#if (DEBUG && CLOUD)
return "DEBUG && CLOUD";
#elif (DEBUG && !CLOUD)
return "DEBUG";
#else
return "Release";
#endif
當我引用這個庫爲我的應用程序只拿到了調試或發行退貨,即使雲定義。
行爲是如此奇怪,所以我去了配置屬性選項卡下的解決方案屬性。我被Visual Studio所震驚。
情況#1:
#define DEBUG 1
#define CLOUD 1
- >return "DEBUG && CLOUD";
情況#2:
#define DEBUG
#define CLOUD
- >return "Release";
從這個例子中可以知道#if (cond)
評估一個數字條件。
如果你想檢查定義只有你應該做的:
#if defined DEBUG && defined CLOUD
問題是關於C#,而不是C/C++。你的答案適用於C/C++。在C#中,#if [有點不同](http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx)。 – elgonzo
就是雲是你的庫或只爲您的應用程序定義的? –
CLOUD僅爲您的庫定義。 –
您可以從該庫的項目設置中顯示條件符號文本框嗎? –