ASSERT的一些相关用法
2005-08-04 11:19
344 查看
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
技巧1
assert(条件&&"说明信息")
由于对话框中会显示条件,因此可以利用这个特点显示说明信息,帮助定位错误
技巧2
assert(!"说明信息")
因为assert(0)肯定会显示对话框,可以帮助提示程序运行到哪里了
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
技巧1
assert(条件&&"说明信息")
由于对话框中会显示条件,因此可以利用这个特点显示说明信息,帮助定位错误
技巧2
assert(!"说明信息")
因为assert(0)肯定会显示对话框,可以帮助提示程序运行到哪里了
相关文章推荐
- JAVA-输入输出流相关的一些操作及用法详解
- servlet的一些用法及相关知识的一些总结
- C++ String的一些用法和相关例子
- user相关的一些命令及用法
- sscanf,sscanf_s及其相关用法
- CSS注释的一些高级用法
- STL中的Vector相关用法
- Linq的一些小用法(事务和获取新记录ID)!
- UIWebView的一些用法总结
- Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令①
- QT界面(控件)相关设计的一些技巧总结
- [No000010]Ruby 中一些百分号(%)的用法小结
- LoadRunner中的openssl的一些相关命令
- WinForms C#:html编辑器工程源码,含直接写WebBrowser的文件流、IPersistStreamInit接口的声明和一些相关的小方法
- python:2:字符串基本用法及相关函数
- 总结的一些MySQL索引相关的知识点
- 火焰图相关的一些东西
- 关于xib的一些简单用法
- C#中一些字符串操作的常用用法
- Java8新特性Lambda表达式的一些复杂用法总结