VIM整合PcLint

来源:互联网 发布:mac caj阅读器 编辑:程序博客网 时间:2024/06/07 07:18

PCLINT可对源代码进行静态检查,通过它可以发现许多隐藏在代码的BUG,PCLINT可以很方便整合到VC,SourceInsight,其实通过make命令也可以将PcLint整合到VIM,在QuickFix窗口显示Lint结果,通过:cn,:cp可很方便跳转到有BUG的代码行.

先安装配置PCLINT:http://www.yuanma.org/data/2006/0529/article_512.htm
    通过对Lint结果的重定向可以确定Lint的错误返回格式,上面链接的Lint结果原型为:
    test1.cpp(7): error 1732: (Info -- new in constructor for class 'X' which has no assignment operator)   
通过该原型可以设置VIM里的错误返回格式,即
    set errorformat=%f(%l):/ %t%*[^0-9]%n:/ %m
    其中 %f 对应test1.cpp
         %l 对应圆括号里的7,也就是指向本代码文本的第7行
         %t 错误类型,这里对应error的第一个字母,它和其后的正则表达式匹配"error"
         %n 错误号,这里对应1732
         %m 匹配后面的错误信息
         这里要对空格进行转义处理,所以在空格前加上了转义字符"/"
         其它具体细节可:help errorformat   

当运行:make后产生的文本信息会有上面的errorformat进行全行匹配,匹配成功后在QuickFix窗口里生成对该代码文件的映射链接,通过:cn :cp可以直接跳到%f匹配文件的%l匹配行
    make指令并不指向PcLint的可执行文件,但可以重新指定:
    :set makeprg=c:/pclint/lint-nt.exe/ -u/ c:/pclint/std.lnt/ c:/pclint/env-vc6.lnt/ /"%/"
    和errorformat一样,要对空格进行转义,对"也要进行转义,%为当前文件的路径

OK,通过上面的配置后便可以进行静态检查了
    执行:make后:cw即可看到Lint结果了

 注:PCLint生成的结果并非只有这里提到的一种,其它结构的LINT结果也可以Make,只不过要重新设置errorformat为符合其输出格式的标识。

原创粉丝点击