1. 概述
头文件assert.h的唯一目的是提供宏assert的定义。可以在程序中关键的地方使用这个宏来进行断言。如果一处断言被证明非真,我们希望程序在标准错误流输出一条适当的提示信息,并且使执行异常终止。
但其不是编写产品代码的最好方式,断言只能在调试程序的时候其左作用。可以使用NDEBUG宏来取消断言。
2. Macro(宏定义)
宏 | 定义 | 说明 |
---|---|---|
assert | void assert (int expression); | 宏assert向程序中加入诊断。当执行它的时候,如果表达式为假,assert宏就按照实现定义的格式向标准的错误文件写入关注与之歌特定调用的失败信息,然后调用abort函数终止程序。 |
3. assert的使用
3.1 打开和关闭断言的方法:
- 打开断言:
#undef NDEBUG
#include<assert.h>
- 关闭断言:
#define NDEBUG