主函数中的#ifdef _DEBUG

时间:2015-03-25 15:34:35

标签: c++ visual-studio macros visual-studio-debugging

如果我正在使用 visual studio 2013 ,主函数中的#ifdef _DEBUG是否有任何意义?

如果是,那是什么用?

int _tmain(int argc, _TCHAR* argv[])
{
#ifdef _DEBUG

//creating some objects, using  functions etc;

#endif
}

2 个答案:

答案 0 :(得分:4)

#ifdef DEBUG#ifdef _DEBUG用于处理您用于调试目的的一些代码。如果在代码的最开头添加#undef _DEBUG或类似内容,编译器将跳过#ifdef DEBUG /* bla bla */ #endif中包含的代码。

如果你是

  

//使用函数等创建一些对象;

这个块内部,并且认为这将有效,我向你保证,它不会,直到你在调用期间在编译器选项中包含-D_DEBUG

答案 1 :(得分:1)

例如,它可以用于仅在调试编译中执行操作;) 检查你的标志专门针对VS,在linux中,例如,你将NDEBUG添加到非调试版本..所以检查你的项目属性..编译命令行..等..