3 关闭assert()
是否定义了预处理器变量NDEBUG,控制了assert宏的开关。默认情况下,没有定义预处理器变量NDEBUG,此时assert宏的处于开启状态,即该宏起作用,当定义了NDEBUG后,assert宏的处于关闭状态,即该宏将不再起作用。
可以通过添加代码、修改解决方案配置和添加预处理器定义三种方式关闭assert。
3.1 添加代码
在“2.1 头文件”中提到,assert宏在assert.h/cassert头文件中定义。在包含该头文件的代码之前,使用如下代码定义NDEBUG。
#define NDEBUG
一般把该行代码放在stdafx.h中即可。
3.2 修改解决方案配置
以VS2015为例,选择VS2015的菜单栏“生成->配置管理器”,在“配置管理器”对话框中“活动解决方案配置”选择为“Release”,如图2所示。