c – 根据Visual Studio中的Debug / Release配置自动#defines

我的程序中有调试输出,如下所示:

#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符号的用途以及是否由标准定义.

上一篇:C:为什么不编译?


下一篇:c – 找不到stdarg.h