#ifdef DEBUG编程示例(项目开发时对中间状态信息的控制)
来源:互联网 发布:淘宝客服打字话术 编辑:程序博客网 时间:2024/06/14 07:58
转载请注明出处:http://blog.csdn.net/ict2014/article/details/17335559
在开发程序或者大型项目的时候,特别需要打印一些中间的状态信息到日志文件中,方便跟踪程序的执行流程,加速程序开发的进度。
但是在发布程序的时候,我们并不想打印那些对用户是无关紧要的中间过程信息。
那应该怎么办呢?
此时我们可以定义DEBUG宏控制打印的时间。当DEBUG这个宏已经定义的时候,就打印相关的信息,如果没有被定义,就不打印这个信息。
我们通过如下一个简单的累加计数求和的小程序来看看“DEBUG宏”的功能:
/* 此程序用于在debug的时候输出状态信息 * 在release版本的时候不打印这些调试信息 * 方便在开发程序的时候对程序执行流程进行跟踪 * * 作者:张海波 * 时间:2013-12-15 * 联系方式:newchance@126.com */#include <iostream>using namespace std;//定义编译选项的开关//如果不想打印中间信息的时候,就注释掉此行#define DEBUG//debug模式下输出相应中间信息void DebugOutput(const int& add, const int& result){#ifdef DEBUG cout << "i = " << add << " result = " << result << endl;#endif}int main(int argc, char** argv){ //一个循环,求1+2+3+...+100 = ? int i = 0, result = 0; for(i = 0; i <= 100; ++i) { result += i; DebugOutput(i,result); } return 0;}
在Linux命令行下:g++ -o Debug Debug.cpp生成Debug可执行文件,"./Debug"执行即可。
在Windows下,利用vs直接运行即可。
上述程序的输出结果如下:
同时,如果不想打印这些状态信息的话,就把程序的第16行注释掉即可。
这样在开发程序的过程中,就可以额外的定义一个debug类,用于这些中间状态信息的打印。
0 0
- #ifdef DEBUG编程示例(项目开发时对中间状态信息的控制)
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG的理解
- #ifdef DEBUG
- 信息、状态和控制的关系(头脑风暴)
- 编译Java时的debug信息对class文件大小的影响
- 在复杂的项目开发中使用结对编程
- 063.#IfDef 使用宏来控制调试信息
- 063.#IfDef 使用宏来控制调试信息
- 开发自己的编程语言(五)—— CIL中间代码的生成
- cocos2d-x 是男人就下100层 附源码
- 嵌套锁与读写锁
- 输入 /输出 缓冲区 与 数组的常识
- 设计模式factory method; abstract fatory; builder ; prototype
- 个人网站建设流程攻略
- #ifdef DEBUG编程示例(项目开发时对中间状态信息的控制)
- Generate Parentheses
- glance 出错 request None
- 获取app启动时间
- 根据概率选择函数
- WinForm中如何实现panel和SplitContainer相结合进行布局呢
- CRC校验
- Foursquare: 如何构建我们的模型训练引擎(Model Training Engine)
- 第一次当面试官