PC-lint集成于SourceInsight 范例以及简单分析;提高代码的健壮性;

写代码之际突然想起了pc-lint这个"古董级"的代码静态分析工具;  
下午机房的服务器歇菜了,没法调试游戏,刚好抽出时间来研究一下pc-lint集成在SourceInsight中;
当然百度上也有许多集成的方法,但是经常有某些错误,导致进程无法lint的正常执行;
分3块部分来讲,先说第一块:

一:安装pclint和SourceInsight

安装pclint: 上http://download.csdn.net/detail/u012329294/8280039   或者直接百度
安装SourceInsight: http://rj.baidu.com/soft/detail/10258.html?ald    或者直接百度
配置SourceInsight可以参考我去年写的一篇SourceInsight安装配置指南;

pclint主要配置是 std.lnt  ---主入口 
其中要配置一些其他的.lnt文件,如果在之后的运行过程中提示找不到lnt文件但是实际文件存在的情况,可以手动拷贝到std.lnt文件中;  在最后加上引用lib文件的路径作为头文件引用路径:
我这里已经写好了,大家直接拷贝就行了;
std.lnt文件我待会儿也会发在附件中;

二:将pclint集成到SourceInsight

pclint_2.PNG



1.打开Options中的Custom Commonds
2.随意起个名字比如pclint;,再点击Add
3.Run中填: C:\lint\lint-nt  -u  C:\lint\std.lnt  C:\lint\env-vc6.lnt %f  
4.勾选Iconic Window; Capture Output; Parse Links in OutPut; File,then Line; 4个选项
5.Close
6.打开MenuAssignments界面;输入自己刚刚取的名字
7.在MenuAssignments界面选择Menu ,选择Help,选择<end of menu>
8.点击insert;

pclint_3.PNG



9.你可以看看在Help界面,有没有出现刚刚你自己定义的名字
大功告成;

三.开始运行pclint了;
1.在SourceInsight中打开你想要检查的cpp文件,
2.Help->pclint;开始执行了
3.执行完毕后会弹出link的分析界面
那就说明lint完毕了;

四.简单分析下,拿自己代码做例子吧;
1.上图




我圈了4个红色的地方;
然后再来看看我写的代码:(提示:::点击左边的小红箭头可以直接跳转到指定代码位置!!)
红圈1:

pclint_5.PNG



能看出来后面的return FALSE; 是肯定走不到的分支;

红圈4:

pc_lint6.PNG



这个比较严重,我发现我的stActiveSingle变量居然没有用过....

红圈2: 
代码是指针的直接偏移指定字节数得到结构体指针;还是很可能野指针的,但是这个毕竟按照消息头规则来的,那应该是没问题;

红圈3: 2
error 641: (Warning -- Converting enum 'TCBY_ENUM_ACTIVETYPE' to int)
不能直接把enum转成int; 


五.分析完毕

 

 

附:lint文件内容:

//  Microsoft C and Visual C++ 6.x, -si4 -sp4, lib-w32.lnt
//  Standard lint op

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值