- 3
- 0
- 约 2页
- 2017-07-24 发布于江苏
- 举报
断言宏Assert
断言宏ASSERT
断言宏ASSERT
断断言言宏宏AASSSSEERRTT
assert
语法:
#include assert.h
voidassert( int exp);
功能: 宏assert()用于错误检测。如果表达式的结果为零,宏写错误信息到STDERR并退出程序执行。
如果宏NDEBUG已经定义,宏assert()将被忽略。
assert在PC机上编程上被广泛只用,当断言失败时会在界面上弹出警告对话框,现象清晰明显,编程人
员很容易发现自己的程序出了问题,并加以改正。在这里必须清晰的知道一点,调试生效的事实告诉我们
的是assert的一个重要作用是帮助开发者调试程序定位错误的。作为开发者一个普遍事实是解决bug并
不难,定位bug往往是最难的。这也是我倡导多使用assert的原因所在。再深想一层,我们作一个假想:
假如assert在发布版上也能用,那么什么时候用assert,什么时候用提示对话框,原则是什么?我认为
这里有一个用户层次的问题。程序其实一般有两类用户:未发布前的开发者和发布后的用户。作为开发者,
我们假定他是懂断言的,但对于用户,我们却不能假定他懂断言。如果这个接口是面对开发者的,那么就
应该用断言来限制输入参数
原创力文档

文档评论(0)