PC-Lint 代码静态分析工具.doc

PC-Lint 代码静态分析工具.doc

ID:57689564

大小:16.00 KB

页数:2页

时间:2020-09-01

PC-Lint 代码静态分析工具.doc_第1页
PC-Lint 代码静态分析工具.doc_第2页
资源描述:

《PC-Lint 代码静态分析工具.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PC-Lint代码静态分析工具实验目的:掌握代码静态分析工具使用方法。实验内容及步骤:PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误

2、的主要因素。PClint能够帮你在程序动态测试之前发现编码错误。这样消除错误的成本更低。使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。1VC6.0环境中集成pclint的步骤1.将pclint.rar解压至c:,这样lint文件就位与c:pclint(安装目录)下了。2.将c:pclintlnt下的3个文件lib-w32.lnt,env-vc6.lnt,co-msc60.lnt拷贝至c:pclint下,再在安装目录下创建std.lnt和options.lnt两个

3、文件,其中std.lnt的内容如下//contentsofstd.lntc:pclintco-msc60.lntc:pclintlib-w32.lntc:pclintoptions.lnt-si4-sp4-i"D:ProgramFiles;D:ProgramFilesMicrosoftVisualStudioVC98Include"//end其中-i后面的路径名为VC的安装路径和VCInclude文件路径,根据自己的修改便可。options.lnt内容可为空,为定制内容,以后需要时再添加。准备工作做完了,下一步就是要将pclint集成到VC6中去,先配

4、置lint使之能对单个C或C++文件进行检查。1.打开VC6,tools--->customize-->tools新建一个名为pclint的项,在下面填入command:C:pclintlint-nt.exearguments:-uc:pclintstd.lntc:pclintenv-vc6.lnt"$(FilePath)"UseOutputWindow打上勾close完成。这个在你VC窗口tools菜单下应该多了一个pclint选项,可以用它来运行lint程序,对你的c/c++代码进行静态检查了。现在就可以用个小程序测试一下pclint了//test1.cpp

5、#includeclassX{int*p;public:X(){p=newint[20];}voidinit(){memset(p,20,'a');}~X(){deletep;}};编译这个文件,看下编译器给你多少警告,再运行下lint,对比一下。机器上,VC产生0errors0warnings,而lint程序产生了如下8条警告信息,有些还是很有用处的提示.test.cpp(12):error783:(Info--Linedoesnotendwithnew-line)test.cpp(7):error1732:(Info--newinconstructo

6、rforclass'X'whichhasnoassignmentoperator)test.cpp(7):error1733:(Info--newinconstructorforclass'X'whichhasnocopyconstructor){memset(p,20,'a');}test.cpp(9):error669:(Warning--Possibledataoverrunforfunction'memset(void*,int,unsignedint)',argument3(size=97)exceedsargument1(size=80)[Reference:t

7、est.cpp:lines7,9])test.cpp(7):error831:(Info--Referencecitedinpriormessage)test.cpp(9):error831:(Info--Referencecitedinpriormessage){deletep;}test.cpp(11):error424:(Warning--Inappropriatedeallocation(delete)for'new[]'data)---Wrap-upforModule:test.cpptest.cpp(2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。