我的程序中有调试输出,如下所示:
#define DEBUG
...
#ifdef DEBUG
std::cout << "[RE_words] " << m_re << std::endl;
#endif
和DEBUG手动在我的程序中定义.当我发布版本时,我总是注意到这一行.在Visual Studio中,还有用于调试和发行版本的配置,它们处理用于编译的命令行等.我还可以使用配置“Debug”自动为编译器定义DEBUG吗?怎么样?
解决方法:
Visual Studio自动为Debug版本定义_DEBUG符号(对于非调试版本,定义NDEBUG).
另一种方法是转到项目设置 – >配置属性 – > C/C++ – >预处理器,并手动编辑预处理器定义.
也可以看看:
This answer更详细地解释了_DEBUG和NDEBUG之间的区别.
This answer解释了NDEBUG符号的用途以及是否由标准定义.