阿布的天空,只做收集...                                                                                                    Manage    NewBlog    Exit


«December 2025»
123456
78910111213
14151617181920
21222324252627
28293031


公告

Welcome to iPUD's Sky!


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:阿布的天空
日志总数:29
评论数量:39
留言数量:-32
访问次数:167638
建立时间:2006年3月21日




[C/C++学习]C++编程中的四个调试小技巧
文章收藏,  网上资源,  软件技术

阿布 发表于 2006/4/2 15:38:16

 1.调试标记   适用预处理#define定义一个或多个调试标记,在代码中把调试部分使用#ifdef 和#endif 进行管理。当程序最终调试完成后,只需要使用#undef标记,调试代码就会消失。常用的调试标记为DEBUG, 语句序列: #define DEBUG#ifdef DEBUG调试代码#endif  2.运行期间调试标记  在程序运行期间打开和关闭调试标记。通过设置一个调试bool标记可以实现。这对命令行运行的程序更为方便。  例如下面代码 #include<iostream>#include <string>using namespace std;bool debug =false;int main(int argc,char*argv[]){ for(int i=0;i<argc;i++)  if(string(argv[i])==“--debug=on“)  debug = true;  bool go=true;  while(go)  {   if(debug)   {    调试代码   }else {}  }}  3.把变量和表达式转换成字符串  可是使用字符串运算符来实现转换输出定义 #define PR(x) cout<<#x”=”<<x<<'\n'  4.c语言的assert()  该宏在<assert>中,,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生测试该断言的代码,如果断言不为真,则发出一个错误信息告诉断言是什么以及它失败一会,程序会终止。 #include< assert>using namsapce std;int main(){ int i=100; assert(i!=100); //Fails}当调试完毕后在#include<assert>前加入#define NDEBUG即可消除红产生的代码}


阅读全文(3337) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.617 second(s), page refreshed 144799157 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号