概念
NDEBUG
C 标准库约定的预处理宏,定义后会使 assert 展开为空语句从而在编译期移除断言,是 C/C++ 构建配置中控制断言行为的传统机制
时间轴 (近 90 天)
10月16日
<debugging> 提供的调试断点不受 NDEBUG 宏影响,应在所有构建配置下都可用。
待验证50%
10月16日
当定义了 NDEBUG 时(通常在 Release 构建中),assert 宏会被展开为空操作。
待验证50%
10月15日
NDEBUG 宏被定义时,标准头文件 <cassert> 会把 assert(expr) 展开为空语句,从而让断言在编译期被彻底移除。
待验证50%
10月15日
NDEBUG 是全局性的,无法针对单个函数、单个模块或单类条件进行差异化控制。
待验证50%