安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  编程工具 > pc lint 9.0最新版(C/C++静态代码检测工具) 附带安装教程
pc lint 9.0最新版(C/C++静态代码检测工具)

pc lint 9.0最新版(C/C++静态代码检测工具)

 附带安装教程
  • 软件大小:7.54 MB
  • 更新日期:2019-07-09 11:43
  • 软件语言:简体中文
  • 软件类别:编程工具
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:7.54 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  PC-lint/FlexeLint是一个软件包,它在包含一个的C和C ++程序中找到勘误表或更多模块,该应用程序采用了使用C99(或可选的C89)作为C with的假设标准K&R C的历史津贴;程序使用ISO C ++ 2003或者可选地使用C ++ 98作为C ++标准;用户在使用该程序的过程中,总内存要求将取决于用户程序的大小,特别是存储对第一近似值的要求取决于头文件的大小,粗略估计存储使用量是每2000行头文件所需的1Mb额外内存;FlexeLint包作为“笼罩”的C源代码分发,可以编译为任何系统。强大又实用,需要的用户可以下载体验

pc lint 9.0最新版(C/C++静态代码检测工具)

软件功能

  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++)中说描述的各种提高效率和防止错误的方法。

软件特色

  PC-lint是一款小而强大的C/C++静态代码检查工具,

  它可以检查未初始化变量,数组越界,空指针等编译器很难发现的潜在错误。

  在很多专业的软件公司如Microsoft,PC-Lint检查无错误无警告是代码首先要过的第一关。

  co.lnt 通用的可选编译文件。

  sl-....c 非ANSI编译器的标准库文件模块

  lint-nt.exe:PC-lint的可执行程序。

  config.exe:PC-lint的配置文件程序。

  pc-lint.pdf:PC-lint的PDF格式的在线手册,本文的大部分内容是从中得来的。

  pc-lint目录下几个重要的文件及程序

  msg.txt: 对于错误消息编号的详细解释。

  lib-....lnt:可选文件, 特定的"有挑战性"的库文件。

  au-....lnt:可选文件, 作者们推荐的检测条件。

  Lnt/: 这个目录下有些东西还是值得认识一下。

  co-....lnt:指定的编译器的可选编译文件。

  sl.c: 非ANSI编译器的通用标准库文件模块

安装步骤

  1、浏览至此,需要的用户可以点击本网站提供的下载路径下载得到对应的程序安装包

pc lint 9.0最新版(C/C++静态代码检测工具)

  2、通过解压功能将压缩包打开,找到主程序,双击主程序即可进行安装,点击下一步按钮

pc lint 9.0最新版(C/C++静态代码检测工具)

  3、需要完全同意上述协议的所有条款,才能继续安装应用程序,如果没有异议,请点击“同意”按钮

pc lint 9.0最新版(C/C++静态代码检测工具)

  4、可以直接点击下一步按钮,或者随便输入一个任意名字

pc lint 9.0最新版(C/C++静态代码检测工具)

  5、用户可以根据自己的需要点击浏览按钮将应用程序的安装路径进行更改

pc lint 9.0最新版(C/C++静态代码检测工具)

  6、现在准备安装主程序。点击“安装”按钮开始安装或点击“上一步”按钮重新输入安装信息

pc lint 9.0最新版(C/C++静态代码检测工具)

  7、等待应用程序安装进度条加载完成即可,点击下一步按钮

pc lint 9.0最新版(C/C++静态代码检测工具)

  8、根据提示点击安装,弹出程序安装完成界面,点击完成按钮即可

pc lint 9.0最新版(C/C++静态代码检测工具)

使用说明

  介绍

  PC-lint / FlexeLint在C和C ++程序中发现怪癖,特性,故障和错误。该

  这种分析的目的是在整合之前确定此类计划中的潜在问题

  移植,或揭示可能是微妙但未被发现的错误来源的异常构造。

  因为它看起来跨越几个模块而不仅仅是一个模块,它可以确定a

  编译器不能。 对于许多细节而言,通常比编译器想要的更为繁琐。

  一个例子

  考虑以下C / C ++程序(我们故意保持这个例子小而且

  理解):

  1:

  2:char *报告(短m,短n,char * p)

  3:{

  4:int结果;

  5:char * temp;

  6:长nm;

  7:int i,k,kk;

  8:char name [11] =“Joe Jakeson”;

  9:

  10:nm = n * m;

  11:temp = p ==“”? “null”:p;

  12:for(i = 0; i

  13:{k ++; kk = i; }

  14:if(k == 1)result = nm;

  15:否则if(kk> 0)result = 1;

  16:否则if(kk <0)result = -1;

  17:if(m == result)return temp;

  18:否则返回名字;

  19:}

  就大多数编译器而言,它是一个有效的C(或C ++)程序。但是,它有一个

  PC-lint / FlexeLint将报告的细微错误和问号的数量。

  分配给第8行中名称[11]的字符串会删除nul字符;第11行的比较是有缺陷的;第13行中的变量k尚未初始化;可以想象,第15行中的变量kk不是

  初始化;第17行中的变量结果可能未初始化;并且汽车的地址是在第18行返回。

  大多数C程序员可以在小程序中轻松识别这种不规则性。然而,

  在程序中挑选出数十万行的缺陷是一项工作适合机器而不是男人...或女士。

  C ++的Lint

  C ++是一种非凡的语言。计算机权威不亚于Ray Duncan所称的

  语言“有史以来最怪诞和最神秘的语言之一”。

  尽管如此,如果C ++不存在,则必须创建它。而C是一个显着的强大的系统编程语言,它没有像Fortran那样复杂的数字,或者字符串像Basic或下标边界检查像Pascal或Objects of Smalltalk。同

  C ++,你也没有这些东西,但你有更重要的东西......能够创建特定问题域可能的这些和许多其他编程构造要求。拥有所有这些力量,必然会混乱,鲁莽炒作,悲伤失望,夸大的说法,完全拒绝和极度兴奋。

  本文作者相信,及时更好地理解语言及其能力并且它的陷阱和陷阱将更容易识别。我们希望PC-lint / FlexeLint可以为这些目标做出贡献,尤其是后者。

  对于lint来说,最初的存在理由是对原始K&R C进行相对宽松的检查语言和多模块(独立编译)的大型C编程方法。

  Lint通过在模块内提供更严格的类型检查来满足这两个需求在几个模块之间进行交叉检查。 ANSI / ISO C在某种程度上和C ++相比要大得多范围,提供更严格的类型检查。

  指针不能再伪装成int或任何东西而不是指向它所指向的类型的指针;枚举不能随意与int混合;

  函数需要原型并通过名称修改,原型必须同意模块。即使是类型松散的printf()和scanf()也可以用它们的类型安全替换iostream.h等价的cout和cin。皮棉还有什么用呢?

  虽然编译器技术已经发展到可以防止lint会发现的各种错误

  15年前,皮棉工具也在不断发展。采取非常粗略的措施,27警告和9

  1985年原始PC-lint的信息性消息已增加到320个警告和223个

  当前版本中的信息性消息。虽然其中一些消息不再存在

  与C ++编码相关,大多数仍然是。例如,表达式分析包括了解

  运营商的不寻常组合,评估问题的顺序,精度的损失,签署/

  未签名的不匹配,不寻常的常数,可疑的比较,不寻常的缩进,可疑截断,意外名称隐藏,可疑初始化,不恰当地使用指向auto的指针变量和宏观违规行为。

  尽管C ++有许多复杂的功能,但仍然可以创建有缺陷的程序。

  该C ++中的类型检查仍然不像Pascal那样严格,但使用PC-lint / FlexeLint强type选项(参见第9章。强类型。)类型检查可以任意严格。

  未初始化的变量仍然是C ++的问题。我们原始的简单扫描未初始化变量已经被旨在揭示的复杂的控制流分析所取代在初始化之前可能导致变量被使用的路径。

  初始化跟踪

  在版本7.00中,我们首次在任何lint中引入了语句间值跟踪。通过

  这样,可以记住或推断变量值和成员值。如果以后,这样的值是

  对于特定的上下文不适合,例如,它们可能导致超出范围

  下标或访问NULL指针,可以给出适当的消息。见10.2节

  价值追踪作为一种支持技术,价值追踪可以用来检查一个大的电话

  标准库函数的数量。此外,这些检查可以转移给用户功能。

  PC-lint / FlexeLint可以查看多个模块。即使所有功能都已原型化,

  函数和数据的声明不匹配仍然可以在模块之间发生,这可能导致

  神秘的程序行为。全局数据可能尚未初始化或未被访问;

  原型可能会有意想不到的转换;至少,宏,枚举常量,声明等可能仍未使用或被冗余声明。

  经常这样不一致可能是一个更严重问题的提示。

  C ++的一些功能适用于C无法实现的静态分析。值可以跟踪数据成员,至少在成员函数内。

  可以推测构造函数对原始数据进行操作,使我们能够报告尚未初始化的数据成员的使用情况

  数据成员根本没有初始化的事实。析构函数是资源的地方

  应该被释放,允许我们报告未删除的指针。

  最后,C ++本身提供了正确使用的足够复杂性(有点低估了这种情况)

  它的许多设施并不总是很容易实现,尤其是新手。文献存在警告用户使用不当[12,13,17,19,20,21,22],其中许多建议使用并没有注意到这个包。

  然而,正如他们所说,证据就在于布丁。一个简单的测试,将决定是否这样

  棉绒或任何棉绒都很有用。只需将它应用到您的程序中,看看会出现什么。

  语言定义

  Kernighan&Ritchie(K&R)对C编程语言[1]的描述充当了

  事实上的早期标准。 Harbison&提供了对该标准的精彩阐述斯蒂尔。

  在1980年代,ANSI(美国国家标准协会)C委员会(X3J11)

  开发了一个与K&R大致向上兼容的C标准(其主要原则之一是“不破坏工作代码”)。大多数主要供应商都采用了该标准。 ISO(国际标准组织(International Standards Organization)采用了ANSI C规范[2],称为C90

  作者K&R和H&S根据其制作了各自作品的后续版本

  这个ANSI标准。最近该标准被修改并升级为新标准,

  这就是所谓的C99。

  在C标准化努力的同时,Bjarne Stroustrup和其他人正在“推动

  信封“对C语言的增强,特别是在抽象类型和“面向对象”编程。这个增强版本称为C ++,受到广泛欢迎

  开始支持C社区和ANSI(X3J16)和ISO(WG21)的标准化工作

  1991年,标准化工作的基础文件是ANSI C标准[2]和带注释的C ++参考手册(ARM)[11]。努力导致了国际标准

  C ++ [10]。 2003年版本[34]进行了大量修复和澄清。对于C模块,PC-lint / FlexeLint采用C99定义的C. Via选项,

  用户可以指定早期的C90标准。该产品支持K&R,它与之不冲突选择C标准。它还支持标准的常见扩展,特别是针对特定扩展编译器。

下载地址

人气软件