因此,我有一段代碼,如果它處於調試模式,它將訪問一個DLL名稱空間函數,並且如果它在發佈中,我想註釋掉它。宏以防止代碼處理
#ifdef DEBUG
#define (DEBUG_CODE) abcd::
#else
#define (DEBUG_CODE) <Condition to skip processing>
if (some condition)
(DEBUG_CODE) func_name();
雖然我想了#else
定義一個評論,我想你不能這樣做,因爲它們是由編譯器代碼的任何處理前跳過,或進行預處理..
如果這是正確的,那麼請告訴我一種跳過(DEBUG_CODE) func_name();
的處理的方法。有很多地方使用它,我不想在任何地方添加if(DEBUG)
。
編輯
命名空間DLL有不返回任何東西,以及其預期返回值的函數,以及可能被分配到一個enum
功能。
即
abcd::func_name();
and
int rs = abcd::func_name_2();
and
enum XYZ{ var1 = 0; var2};
XYZ PQR = abcd::func_name3(); //This Enum will prevent me from defining some kind
// 0; as a `#define`
So..multiple場景..
感謝您的幫助。
也許'if(false)'? –