打印

C/C++开发中的pclint工具的使用与讨论

[复制链接]
901|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
smilingangel|  楼主 | 2017-12-13 23:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,在程序开发过程中,会进行代码的静态检测的,,常用的就是pclint,,关于这个,大家伙有啥感慨的?
沙发
smilingangel|  楼主 | 2017-12-13 23:31 | 只看该作者
给百度了下的,,PC-Lint 是GIMPEL SOFTWARE 公司研发的C/C++软件代码静态分析工具,他的全称是PC-Lint/FlexeLint for C/C++。

使用特权

评论回复
板凳
smilingangel|  楼主 | 2017-12-13 23:32 | 只看该作者
PC-Lint 能够在Windows、MS-DOS 和OS/2 平台上使用,以二进制可执行文档的形式发布,而FlexeLint 运行于其他平台,以源代码的形式发布。PC-lint在全球拥有广泛的客户群,许多大型的软件研发组织都把PC-Lint 检查作为代码走查的第一道工序。PC-Lint 不但能够对程式进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针连同冗余的代码,还能够有效地提出许多程序在空间利用、

运行效率上的改进点。

使用特权

评论回复
地板
smilingangel|  楼主 | 2017-12-13 23:32 | 只看该作者
作用

1、PC-Lint是一种静态代码检测工具,可以说,PC-LINT是一种更加严格的编译器,不仅可以象普通编译器那样检查出一般的语法错误,还可以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误。

2、PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题,因为C语言编译器固有的单个编译,这些问题在编译器环境下很难被检测,而PC-Lint在检查当前文件的同时还会检查所有与之相关的文件,可想而知,它会对我们有很大的帮助。

3、 PC-lint支持几乎所有流行的编辑环境和编译器,比如Borland C++从1.x到5.x各个版本、Borland C++ Build、GCC、VC、watcomC/C++、Source insight、intelC/C++等等,也支持16/32/64的平台环境。

4、支持Scott Meyes的名著(Effective C++/More Effective C++)中说描述的各种提高效率和防止错误的方法。

使用特权

评论回复
5
smilingangel|  楼主 | 2017-12-13 23:35 | 只看该作者
关于其使用的,,错误级别的分类如下
                               C             C++           Warning Level

Syntax Errors            1 - 199     1001 - 1199           1
Internal Errors        200 - 299     1200 - 1299           0
Fatal Errors           300 - 399      1300 - 1399            0
Warnings               400 - 699     1400 - 1699           2
Informational          700 - 899     1700 - 1899           3
Elective Notes         900 - 999     1900 - 1999            4

使用特权

评论回复
6
smilingangel|  楼主 | 2017-12-13 23:36 | 只看该作者
以C语言为例,其中的编号1-199指的是一般编译器也会产生的语法错误;编号200-299是PC-Lint程序内部的错误,这类错误不会出现在代码中的;编号300-399指的是由于内存限制等导致的系统致命错误。编号400-999中出现的提示信息,是根据隐藏代码问题的可能性进行分类的:其中编号400-699指的是被检查代码中很可能存在问题而产生的告警信息;编号700-899中出现的信息,产生错误的可能性相比告警信息来说级别要低,但仍然可能是因为代码问题导致的问题。编号900-999是可选信息,他们不会被默认检查,除非你在选项中指定检查他们。

使用特权

评论回复
7
comeon201208| | 2017-12-17 18:04 | 只看该作者
pclint的使用在大公司都是常态的

使用特权

评论回复
8
firstblood| | 2017-12-18 21:11 | 只看该作者
PC-Lint 不但能够对程式进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针连同冗余的代码,还能够有效地提出许多程序在空间利用、运行效率上的改进点。

使用特权

评论回复
9
tongbu2015| | 2017-12-23 14:02 | 只看该作者
PC-Lint是一种静态代码检测工具,可以说,PC-LINT是一种更加严格的编译器,,这个是领教过了的哈

使用特权

评论回复
10
tongbu2015| | 2017-12-23 14:03 | 只看该作者
我在IAR上都编译通过了,在这个上边死活是检查不过的

使用特权

评论回复
11
zhangbo1985| | 2017-12-23 16:07 | 只看该作者
这个静动态检查的是新东西的哈,,来学习的啦

使用特权

评论回复
12
uygferfgf| | 2017-12-24 19:09 | 只看该作者
嵌入式应该不用管吧

使用特权

评论回复
13
vivilzb1985| | 2017-12-24 22:53 | 只看该作者
这个还是蛮重要的,检查语法错误的还是不错

使用特权

评论回复
14
shenmu2012| | 2017-12-25 22:13 | 只看该作者
PC-lint支持几乎所有流行的编辑环境和编译器,比如Borland C++从1.x到5.x各个版本、Borland C++ Build、GCC、VC、watcomC/C++、Source insight、intelC/C++等等,也支持16/32/64的平台环境

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

4066

帖子

7

粉丝