VisualStudio工程设置(三)---Pclint集成VS2013及常见用法

集成VS2013

安装Pclint

  1. http://download.csdn.net/download/xiake001/10027881下载破解版的pclint9i版;
    1. 点击pclint9setuo.exe将pclint安装到e:\lint下(也可以是其它位置);
    2. 将patch下的内容拷贝到e:\lint下,32位系统执行patch.bat,64位系统执行patch64.bat;
    3. 执行完lint中的bat后可将拷贝过来的文件删除掉。

升级
http://www.gimpel.com/html/ptch90.htm

配置单个文件检查项

1.在e:\lint下新建一个check文件夹;
2.在e:\lint\check下新建一个名为std.lnt的文件,并输入以下内容:

-i"E:\lint\lnt"
-i"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include"
E:\lint\lnt\lib-w32.lnt  
E:\lint\lnt\co-msc90.lnt  
E:\lint\lnt\env-vc9.lnt  

3.在e:\lint\check下新建一个名为option.lnt的文件,并输入以下内容:

-wlib(0)
-w2   // only print error and warning
-e714 // function not use  
-e715  
-e522  
-e534  
-e830 
-e628 //屏蔽type_traits文件错误

4.在e:\lint\check下新建一个名为include.lnt的文件,并输入以下内容:

-i"E:/lint"
-i"E:/lint/lnt"
-i"c:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include"
-i"c:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/atlmfc/include"
-i"c:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include"

5.在e:\lint\check下新建一个名为file_check.bat的文件,并输入以下内容:

E:\lint\lint-nt.exe -i"E:\lint\check" include.lnt std.lnt option.lnt %1 %2 %3 %4 %5 %6 %7 %8 %9 

6.配置到vs工具

打开VS2013,依次点击工具–>外部工具,在弹出的对话框中点击添加按钮,在各输入框中输入以下内容:
标题: Pclint_Check_File
命令: E:\lint\check\file_check.bat
参数: “$(ItemDir)$(ItemFileName)$(ItemExt)”
初始目录: $(ItemDir)
在使用输出窗口前选勾,然后点击确认,完成。
之后,工具下拉菜单里会出现一栏名为Pclint_Check_File的菜单,点击此栏即可对当前文件进行pclint检查。

配置整个工程检查项

1.在C:\lint\check下新建一个名为proj_check.bat的文件,并输入以下内容:

echo >.\_file.lnt  
e:\lint\lint-nt.exe +linebuf %1 > .\_file.lnt  
e:\lint\lint-nt.exe -ie:\lint\check include.lnt std.lnt option.lnt .\_file.lnt  
del /f /q .\_file.lnt  

2.配置到vs工具

打开VS2013,依次点击工具–>外部工具,在弹出的对话框中点击添加按钮,在各输入框中输入以下内容:
标题: Pclint_Check_Proj
命令: E:\lint\check\proj_check.bat
参数: $(ProjectDir)$(ProjectFileName)
初始目录: $(ProjectDir)
在使用输出窗口前选勾,然后点击确认,完成。
之后,工具下拉菜单里会出现一栏名为Pclint_Check_Proj的菜单,点击此栏即可对整个工程进行pclint检查。

测试结果

这里写图片描述

结论: 能够准备的将变量b,检查出来.

遇到问题,可参考【常见问题】章节。

屏蔽告警

告警类别

误说明CC++告警级别
语法错误1-1991001-11991
内部错误200-299-0
致命错误300-399-0
告警400-6991400-16992
消息700-8001700-18993
可选信息900-9991900-19994

PC-Lint/FelexLint提供了和许多编译器类似的告警级别设置选项-wLevel,它的告警级别分为以下几个级别,缺省告警级别为3级:
-w0 不产生信息(除了遇到致命的错误)
-w1 只生成错误信息 – 没有告警信息和其它提示信息
-w2 只有错误和告警信息
-w3 生成错误、告警和其它提示信息(这是默认设置)
-w4 生成所有信息

检查库文件

PC-Lint/FelexLint还提供了用于处理函数库的头文件的告警级别设置选项-wlib(Level),这个选项不会影响处理C/C++源代码模块的告警级别。它有和-wLevel相同的告警级别,缺省告警级别为3级:
-wlib(0) 不生成任何库信息
-wlib(1) 只生成错误信息(当处理库的源代码时)
-wlib(2) 生成错误和告警信息
-wlib(3) 生成错误、告警和其它信息(这是默认设置)
-wlib(4) 产生所有信息

错误信息禁止选项说明

命令格式说明代码中的举例
-e#隐藏某类错误/*lint -e725 */
-e(#)隐藏下一表达式中的某类错误/*lint –e(534) */
printf(“it’s all”);
!e#隐藏本行中的错误/*lint !e534*/ printf(“it’s all”);
-esym(#, Symbol)隐藏有关某符号的错误/*lint –esym(534, printf)*/
printf(“it’s all”);
-elib(#)隐藏头文件中的某类错误/*lint –elib(129) */
#include “r01.h”
-efunc(#, )隐藏某个函数中的特定错误/*lint –efunc(534, mchRelAll)*/
unsigned int mchRelAll(mchHoData *pHoData)
{
printf(“it’s all”);
}

常见问题

Error 322: Unable to open include file ‘typeinfo’

A:把co_msc90.lnt(18)行“#include ”注掉。

error 322: (Error – Unable to open include file ‘SDKDDKVer.h’)

解决方案:
在PC-Lint 的安装目录下,编辑std.lnt 文件,在路径后面加上SDKDDKVer.h 的路径,具体内容为:
-i”C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include”

参考

重要:pclint在VS2013中的配置
1. C++ error 类别信息
2. 代码静态检查工具PC-Lint运用实践

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值