c++调试帮助(assert、NDEBUG)
来源:互联网 发布:淘宝时尚女装小衫 编辑:程序博客网 时间:2024/06/05 08:14
c++调试帮助(assert、NDEBUG)
assert
assert—-一种预处理宏, 定义在cassert头文件中。
用法:assert(expr)
即当expr表达式为假时, assert输出信息并终止陈程序的进行.反之,assert什么也不做。
注:包含了cassert头文件的程序中不能再定义名为assert的变量、函数或者其他实体。
NDEBUG—-一种预处理变量
用法:#define NDEBUG
即定义NDEBUG,关闭调试状态。程序默认状态写未定义NDEBUG,程序中的assert将执行运行时检查,若存在#ifndef 和#endif,会执行#ifdef和#endif之间的代码。反之,若定义了NDEBUG,以上两种代码将被忽略。
另外,c++编译器还定义了局部静态变量 _ func _(一个const char类型的数组),用于存放当前调试的函数的名字。
c++预处理器定义了4个用于调试的常量:
_ FILE _ : 存放文件名的字符串字面值
_ LINE _ : 存放当前行号的整型字面值
_ TIME _ : 存放文件编译时间的字符串字面值
_ DATE _ : 存放文件编译日期的字符串字面值
0 0
- c++调试帮助(assert、NDEBUG)
- C++调试帮助之assert和NDEBUG
- 调试工具之assert和ndebug
- [C++]NDEBUG宏与assert行为
- [C++]NDEBUG宏与assert行为
- assert and NDEBUG
- # define NDEBUG assert
- gcc assert ndebug
- assert 与NDEBUG
- 系统assert与NDEBUG
- 关于assert, _DEBUG 与 NDEBUG
- debug 与ndebug的区别,assert用法
- ndebug与debug及assert()的用法
- NDEBUG 、DEBUG宏 和assert() 的用法
- 自己编写ASSERT()宏(对调试程序很有帮助)
- NDEBUG
- NDEBUG
- 关于 Xcode 中 NSAssert() 的用法 ,以及 assert() 与 NDEBUG
- Acticle 12:javascript对象:js对象汇总
- php无法用mail函数发送邮件之原因
- D3D11之3D渲染管线
- 二的乘方
- 实现一个函数翻转字符串
- c++调试帮助(assert、NDEBUG)
- Linux命令简写和全称
- my first blog
- 《潜规则:中国历史中的真实游戏》读后感
- codeforces 732B - Cormen --- The Best Friend Of a Man
- Java transient关键字使用小记
- SLAM学习资料整理
- 第八章上机练习2 老师答案
- String字符串去掉头尾的空格