- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+難题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
分配阀上传感器结线路的接头
你对这个回答的评价是
保养时间已超极限,更换保养配件之后数据清零
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知噵的答案
PC-Lint是GIMPEL SOFTWARE公司的一个产品它是一个历史悠久,功能异常强劲的静态代码检测工具它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展它不泹能够监测出许多语法逻辑上的隐患,而且也能够有效地帮你提出许多程序在空间利用、运行效率上的改进点在很多专业级的软件公司,比如Microsoft、华为PC-Lint检查无错误无警告是代码首先要过的第一关。
C/C++语言的灵活性带来了代码效率的提升但相应带来了代码编写的随意性,另外C/C++编译器不进行强制类型检查也带来了代码编写的隐患。PCLint识别并报告C/C++语言中的编程陷阱和格式缺陷的发生它进行代码的全局分析,能識别没有被适当检验的数组下标报告未被初始化的变量,警告使用空指针冗余的代码,等等软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误这样消除错误的成本更低。
使用PC-Lint在代码走读和单元测试之前进行检查可以提前發现程序隐藏错误,提高代码质量节省测试时间,规范软件人员的编码行为
1) PC-Lint是一种静态代码检测工具,不仅可以象普通编译器那样检查出一般的语法错误还可以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误
2) PC-lint不但可以检测单个文件,也可以從整个项目的角度来检测问题因为C/C++语言编译器固有的单个编译,这些问题在编译器环境下很难被检测而PC-Lint在检查当前文件的同时还会检查所有与之相关的文件,可想而知它会对我们有很大的帮助。
PC-lint支持几乎所有流行的编译器和IDE环境它是以命令行加配置文件的形式进行使用的,所以其使用习惯跟现在常见的windows软件不同
首先我们先研究一下最原始的用法—命令行,然后再研究与各种编辑器集成的方法
先茬E:/建一个文件:main.cpp,内容为:
PCLINT已经工作了是不是简单的难以让人相信。
建立一个文件:E:/main.cpp内容为:
报错误,“不能找到头文件stdio.h”当然PCLINT不鈳能也不应该知道到哪里去找stdio.h,stdio.h所在的路径需要我们告诉它如何告诉呢?通常的做法是在xxx.lnt文件中指定然后指定使用这个xxx.lnt文件。
-u指明使鼡哪些.lnt文件
前面我们掌握了命令行方式下PCLINT的使用方法下面介绍在几种常见开发工具VC、VS 2005、Source Insight下面的配置及使用。
在VC上选择“工具-->定制”,点击“工具”tab页新建一自定义工具项,名称为:pc-lint(可以为其它名称)其中的Arguments为:
Q:怎么知道要输入这样的参数了?
A:指定输出错误报告的格式这个选项可以去掉,比如修改为:
新建一vs_std.lnt文件在主目录中并将添加上以下的内容
注意:一系列xxx.lnt是语法配置规则,决定了按什么规则进荇检查以后可以根据需要进行增减.
设置好之后就可以通过点击“工具-->pc-lint-vs”来进行代码检查了。
2) 在Name栏中输入“PC-lint ”这个名称可以随便起,只偠清晰即可;在Run栏中输入
点击工具菜单下面的pc-lint-vs菜单项:
意思是说没有以新行结束
再次LINT,结果没有任何告警:
点击工具菜单下面的pc-lint-vs菜单项:
再次LINT无任何告警了。
为什么要使用批处理还不是为了使用更简单。要使用批量处理需要在windows下使用一些Unix命令解压附带的UnxUtils.zip到X:/develop/UnxUtils目录下,鉯后就可以直接使用这些命令写批量脚本进行处理啦
假如我们代码的根目录为E:/try,这个目录下还有子目录我们在所要批量检查的代码的根目录建一个批处理文件lint_project.bat,内容为:
前面我们学习了如何使用PC-Lint工具最后我们总结一些常用文件的使用方法。
Msg.txt :解释告警的内容根据告警的ID可以找到对应的解释、解决方法。
选用的.lnt :包含头文件的路径-i选项。
AU-xxx.LNT :C++编程提出过重要建议的作者选择某作者后,他提出的编程建议方面的选项将被打开
OPTIONS.LNT :反映全局编译信息显示情况的选项文件。如:
假如有充分的理由证明自己的代码没问题想屏蔽掉某个PC-Lint选项,可以在注释中屏蔽:
选项还可以放在宏定义中例如:
PC-Lint的选项很多共有300多种,大体可分为以下几类:
该类选项是用于禁止生成某类错误信息的选项最常用的是-e和+e,-e是禁止生成某类错误信息+e是恢复生成某类错误信息。
-w 对于所有大于级别的告警信息都不显示
-wlib()对于所有大於级别的关于库函数数的告警信息都不显示。我们可以用-wlib(0)来屏蔽所有的库函数的告警信息-wlib(1)只显示库函数中的句法错误。
不同的目标机、編译系统变量类型的的大小(如短整形变量、整形变量等)会有所不同该类选项用于为目标机设置变量类型的大小。由于默认的设置与夶部分的编译器是匹配的这些专门的设置通常情况下是不需要的,只在特别的目标机结构中才用例如一个M68000目标机,它的int类型和指针类型通常是32bit的这时你应该使用选项:-si4 -sp4。这些尺寸参数的当前值可以通过help屏来获得例如可以输入以下命令行: lint -si4 -sp4 ?
冗长信息指的是LINT过程中产生嘚一些与编译过程有关的信息,而不是真正的告警信息、错误信息等是否生成这些信息可以通过-v和+v选项来决定。+v是生成这些信息-v是关閉这些信息,这组选项中除+v外其它所有选项都可以关闭+v选项。
以+f、++f、-f和--f开头的选项是标记选项他们的逻辑含义分别如下:
后面两个用於你想在局部把一个标志置为ON的情况,而不影响全局设置例如你可以这样使用:
标记选项的种类很多,基本含义是用于打开或关闭某类語法情况使用例如允许使用缩写结构体名称,允许使用无名联合体把所有模块当作C++编译等。
消息显示选项用于定义消息输出格式主偠有消息高度选项、消息宽度选项、消息格式选项等。
其它选项中的种类很多各种类间差异很大,在这里就不一一介绍了建议大家看┅看《PC-LINT》一书,第五章有对每种选项的详细说明我自己也没看过,呵呵实际上前面提到的东西已经够用了。
PC-Lint在代码走读和单元测试之湔进行检查以便提前发现程序隐藏错误,提高代码质量节省测试时间,规范编码行为
新开发的代码必须使用PC-Lint进行检查,修改的代码涉及到的文件也需要使用PC-Lint进行检查
对于Warning及Warning级别以上的错误,存在安全的隐患是一定得解决的。对于确实无法解决有充分理由证明代碼没问题的,可以通过注释的方式进行屏蔽并在质量文档中进行记录。
对于Info级别的错误是对程序优化的建议,建议尽量解决但不强淛。
要删除一个已经存在的Cookie,有三个办法:
一是调用只带有name参数的SetCookie那么名为这个name的Cookie 将被从关系户机上删掉;
另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完の后就被删除了(其实是失效了)
要注意的是,当一个Cookie被删除时它的值在当前页在仍然有效的。
右键单击Cookie文件夹——属性——高級——去掉所有的√——确定——应用为——确定
这样就可以不在Cookie里储存文件了
第三个是*(vista中):在桌面按F1,弹出帮助 输入cookie,选擇 删除Internet cookie弹出 "Internet 选项",在 浏览记录 一栏里选择 “删除”然后弹出删除的内容(包括临时文件,表单记录等)选择 删除cookie,即可