因此,我有一段代码,如果它处于调试模式,它将访问一个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)'? –