断言ASSERT()是什么?

来源:互联网 发布:阿里云域名交易平台 编辑:程序博客网 时间:2024/05/29 11:58

ASSERT()一般被称为断言,它是一个调试程序经常使用的宏,定义在<assert.h>头文件中,通常用于程序中是否出现非法的数据,程序运行时计算括号内的表达式的值。如果表达式的值为false,程序报告错误,终止运行,以免导致严重的后果,同时也便于查找错误。如果表达式的值不为0,则继续执行后面的语句。


Assert()捕获的是非法的情况,而非错误的情况,错误情况时必然存在的,并且一定要做相应的处理,而非法情况则不是,他可能只是漏洞而已。


对于asset()的使用,需要注意的几个方面:

1) 在函数开始处检验传入参数的合法性。

2) 每个assert()一般只检验一个条件,而不能对多个条件进行检查,如果断言失败,则无法直接判断哪个条件失败。

3) 不能用于改变环境的语句。

4) 并非所有的assert()都能代替过滤条件。

0 0
原创粉丝点击