C++ Primer 调试
来源:互联网 发布:网络一线牵 相逢即是缘 编辑:程序博客网 时间:2024/05/03 08:25
使用于处理器进行调试:
可使用NDEBUG与处理器变量实现有条件的调试代码:
Int mian()
{
#ifndef NDEBUG
Cerr<<”staring main”<<endl;
#endif
}
如果NDEBUG未定义,那么程序就会将信息写到cerr中。如果NDEBUG已经定义了,那么程序执行时就会跳过#ifndef和#endif之间的代码。
默认情况下,NDEBUG未定义,这也意味着必须执行#ifndef和#endif之间的代码。在开发程序的过程中,只要保持NDEBUG未定义,就会执行其中的调试语句。开发完成之后,要将程序交付客户时,可通过定义NDEBUG预处理变量,删除这些调试语句,大多数编译器提供定义NDEBUG的命令行选项:
$: CC –NDEBUG main.c
这也的命令行等效于在mian.c的开头提供#define NDEBUG预处理命令。
与处理器还定义了其余四种在调试时非常有用的常量。
__FILE__文件名
__LINE__当前行号
__TIME__文件被编译的时间
__DATA__文件被编译的日期
可使用这些常量在错误信息中提供更多的信息。
另一个常见的调试技术是使用NDEBUG预处理变量以及assert(断言)预处理宏。程序员常用assert来测试不可能发生的条件。
0 0
- C++primer
- 《C++primer》
- C++primer
- C++primer
- C++Primer
- C++ Primer 调试
- C++Primer第四版习题9.26答案调试出错的解决
- C++Primer第四版习题16.12答案调试出错的解决
- 重读C++Primer-1
- C++Primer Dialy
- c++primer 13.7联合
- C++Primer 13.9类域
- c++primer学习小记
- C-PRIMER PLUS读书笔记
- C-PRIMER PLUS读书笔记
- C++Primer
- C++Primer学习小记
- c++primer问题思考
- PAT4-09. 笛卡尔树
- hdu 1015
- MATLAB R2013b 安装
- QT_PC学习_GUI程序设计入门_主窗口
- java并发编程(13)--ArrayBlockingQueue
- C++ Primer 调试
- 交通灯管理系统
- 通配符与正则表达式
- 不设临时变量交换a,b的值
- Phonegap+Android+Sencha touch开发应用(一)
- 几个常用应用的架构的分析
- 13广州市委书记:为撤市设区,我们跑了十几趟北京11127502014-2-20 3:07:37发表评论
- 终于等到你
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛 -Happy Number