1、安装pclint

a. 从http://download.csdn.net/detail/finewind/8426979下载破解版的pclint9i版;

b. 点击pclint9setuo.exe将pclint安装到C:\lint下(也可以是其它位置);

c. 将patch下的内容拷贝到C:\lint下,32位系统执行patch.bat,64位系统执行patch64.bat;

d. 执行完c中的bat后可将c中拷贝过来的文件删除掉。


2、配置单个文件检查项

a. 在C:\lint下新建一个check文件夹;

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

  1. -iC:/lint
  2. -iC:/lint/lnt
  3. -iC:/"Program Files"/"Microsoft Visual Studio 12.0"/VC/include
  4. -iC:/"Program Files"/"Microsoft Visual Studio 12.0"/VC/atlmfc/include
  5. -iC:/"Program Files"/"Microsoft Visual Studio 12.0"/VC/include

(这个文件为包含文件路径,包含了其余lnt文件的路径及系统头文件的路径,可根据实际添加和修改)

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

  1. -iC:\lint\lnt
  2. C:\lint\lnt\lib-w32.lnt
  3. C:\lint\lnt\co-msc90.lnt
  4. C:\lint\lnt\env-vc9.lnt
  5. -si4 -sp4

(这个文件包含了vs2013所需要的基本lnt文件及一些标准选项,可根据实际添加和修改)

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

  1. -wlib(0)
  2. -e714 // function not use
  3. -e715
  4. -e522
  5. -e534
  6. -e830

(这个文件包含了跟项目有关的特殊选项,可根据具体项目进行修改)

e. 在C:\lint\check下新建file_chk.bat文件,并输入以下内容:

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

f. 打开VS2013,依次点击工具-->外部工具,在弹出的对话框中点击添加按钮,在各输入框中输入以下内容:

标题:  PCLint File Chk

命令:  C:\lint\check\file_chk.bat

参数:  "$(ItemDir)$(ItemFileName)$(ItemExt)"

初始目录:  $(ItemDir)

在使用输出窗口前选勾,然后点击确认,完成。

之后,工具下拉菜单里会出现一栏名为PCLint File Chk的菜单,点击此栏即可对当前文件进行pclint检查。

3. 配置整个工程检查项

注意,3依赖于2所建立的几个lnt文件,因此需要先完成2。

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

  1. echo >.\_file.lnt
  2. C:\lint\lint-nt.exe +linebuf %1 > .\_file.lnt
  3. C:\lint\lint-nt.exe -iC:\lint\check include.lnt std.lnt option.lnt .\_file.lnt
  4. del /f /q .\_file.lnt

b. 打开VS2013,依次点击工具-->外部工具,在弹出的对话框中点击添加按钮,在各输入框中输入以下内容:

标题:  PCLint Prj Chk

命令:  C:\lint\check\proj.bat

参数: $(ProjectDir)$(ProjectFileName)

初始目录:  $(ProjectDir)

在使用输出窗口前选勾,然后点击确认,完成。

之后,工具下拉菜单里会出现一栏名为PCLint Prj Chk的菜单,点击此栏即可对当前工程进行pclint检查。

注意:需要根据实际项目,完善include.lnt头文件,否则可能会因为找不到头文件而报错。

references :http://blog.csdn.net/zhangcunli/article/details/6842518

05-27 11:17