如何定义C++预处理器宏_DEBUG以启用代码中的调试打印内容输出
开启_DEBUG宏的实现方法
你看到的是C++的条件编译代码块,_DEBUG属于预处理阶段的宏,没有运行阶段的开启选项,只有在编译前定义该宏,块内的cout代码才会被编译执行,最终打印内容到屏幕。
不同编译环境的开启方法
通用命令行编译
- GCC/G++/Clang 编译器:编译命令中添加
-D_DEBUG参数即可,示例:
g++ 你的源文件名称.cpp -o 生成的程序名 -D_DEBUG
- MSVC(Visual Studio 命令行编译器):编译命令中添加
/D_DEBUG参数
Visual Studio 图形界面操作
- 打开项目属性页
- 依次选择
配置属性 → C/C++ → 预处理器 → 预处理器定义 - 在列表中新增
_DEBUG后保存配置即可
注意:Visual Studio默认的Debug构建配置已经预先定义了
_DEBUG宏,直接切换到Debug模式编译运行也能触发对应代码执行
注意事项
- 不建议直接在代码头部写
#define _DEBUG开启,这种方式容易和标准库、第三方依赖的宏定义产生冲突,通过编译参数传递是更安全的做法 - 宏定义修改后必须重新完整编译整个项目才会生效
- 如果编译时没有定义
_DEBUG,条件编译块内的代码会被预处理器直接剔除,不会参与编译,运行阶段无论做什么操作都无法触发这部分代码执行
内容的提问来源于stack exchange,提问作者marlon
相关产品推荐
相关产品推荐

