欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年完整word版,PC-lint安装及使用总结.docx

    • 资源ID:27200963       资源大小:2.15MB        全文页数:59页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年完整word版,PC-lint安装及使用总结.docx

    精选学习资料 - - - - - - - - - PC-lint 讨论总结1. PC-lint 总体介绍 . 2名师归纳总结 2. 安装和配置 . 2第 1 页,共 35 页3. 2.1 安装 . 22.2 配置 . 3使用方法 . 14 4. 3.1 命令行方式 . 14 3.2 集成到 IDE 方式 . 15 3.2.1 集成到 VC 中 . 15 3.2.2 集成到 CB中 . 17 3.2.3 集成到 SI中 . 20 3.2.4 集成到 UE中 . 23 3.3 makefile 方式 . 24 3.3.1 GNU Make 和makefile 介绍 . 24 3.3.1.1 GNU Make . 24 3.3.1.2 makefile 基本结构 . 25 3.3.1.3 makefile 变量 . 26 3.3.1.4 GNU make 的主要预定义变量. 26 3.3.1.5 隐含规章 . 27 3.3.2 平台的 makefile结构 . 27 3.3.2.1 平台级 . 28 3.3.2.2 子系统级(以支撑为例). 28 3.3.2.3 平台 makefile 的调用方式 . 29 3.3.3 平台 makefile 同PC-lint 的集成 . 29 平台推广方案(建议). 34 4.1 推广使用的前提. 34 4.2 个人的使用方案. 34 4.3 子系统的检查人的使用方案. 34 4.4 特别情形处理方法. 34 - - - - - - -精选学习资料 - - - - - - - - - 1. PC-lint 总体介绍PC-Lint/FlexeLint for C/C+ 是 GIMPEL SOFTWARE 公司的产品,是 C/C+ 软件代码静态分析工具, 你可以把它看作是一种更加严格的编译器;它除了可以检查出一般的语法错误外,仍可以检查出那些虽然符合语法要求,但很可能是潜在的、不易发觉的错误;C 语言的敏捷性带来了代码效率的提升,但相应带来了代码编写的随便性,另外 C 编译器不进行强制类型检查,也带来了代码编写的隐患;PC-Lint 识别并报告 C 语言中的编程陷阱和格式缺陷的发生;它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等;软件除错是软件项目开发成本和延误的主要因素;PC-lint 能够帮你在程序动态测试之前发觉编码错误;这样排除错误的成本更低;PC-lint 全球拥有广泛的客户群,由于它性价比高,易于学习,简洁推广和固化到软件开发测试流程中去;使用方法很简洁,可以用命令行方式进行,例如lint-nt u std.lnt test1.c test2.c test3.c ; 另外支持MAKEFILE方式;也可以集成到开发环境中;如集成到Source Insight/SLICKEDIT/MS VC6.0/KEIL C.等;如微软公司,都把它作为程序检查工具,在程序合入正试版本或交付测试之前肯定要保证通过了LINT 检查,他们要求软件工程师在使用LINT 时要打开全部的编译开关,假如一定要关闭某些开关,那么要给出关闭这些开关的正值理由;由于越来越多的用户要求能在非PC 的平台上使用PC-Lint ,GIMPEL 公司采纳了标准C源码包的方式发布了FlexeLint ,这样一来, FlexeLint就可被用户便利的移植在各种的平台上;2. 安装和配置2.1 安装由于此版本比较特别,故无需安装,只需要将 录下即可,这里假定为 C:PCLint8 目录;解压之后目录中文件及目录的说明如下:lint-nt.exe PC-lint 可执行程序;config.exe 配置向导;RAR 压缩包里的全部文件解压到一个目名师归纳总结 read80.txt 手册的补充说明,最新特性的更新都在这里说明;第 2 页,共 35 页pc-lint.pdf PC-Lint英文参考手册,很多问题的答案可以在这里找到;pr.exe 打印工具;msg.txt文本格式的错误号信息说明文件;patch.exe LINT补丁升级工具;Lnt 包含各种 lnt配置文件的目录,文件如下:co- .lnt 各种特定的编译器的配置文件;co.lnt 通用的编译器配置文件;sl-.c 支持各种非 ANSI 标准编译器的标准库模块;sl.c 支持 ANSI 标准的通用编译器的标准库模块;env- .lnt 支持包括微软 Visual Studio 在内的各种开发环境以及多种编辑工具的配- - - - - - -精选学习资料 - - - - - - - - - 置文件;lib-.lnt 支持各种特定库的配置选项文件;au- .lnt 作者编程建议的配置文件;. 包含各种测试源文件的目录;2.2 配置假定我们为Microsoft Visual C+ 6的开发环境进行配置,运行C:PCLint8config.exe进行配置;1运行 C:PCLint8config.exe后显现如下画面,挑选下一步;图 2.2.1 名师归纳总结 2显现命令行使用的说明窗口,挑选下一步;第 3 页,共 35 页- - - - - - -精选学习资料 - - - - - - - - - 图 2.2.2 说明: LIN.BAT , OPTIONS.LNT ,STD.LNT 为胜利运行完此配置向导后自动生成的文件; LINT-NT 实际上就是LINT-NT.EXE命令; LIN.BAT中的命令语句形式仍可在IDE或编辑器里使用;名师归纳总结 3挑选是创建或修改已有配置文件STD.LNT 的选项,这里我们是第一次配置,应选第 4 页,共 35 页择上面一个选项Create a new STD.LNT ,不修改配置路径,然后挑选下一步;- - - - - - -精选学习资料 - - - - - - - - - 图 2.2.3 说明:界面中配置路径不修改的话就是PC-Lint 安装的路径 C:PCLint8 ,新建的 STD.LNT就存放在这个目录下,当然用户也可挑选另外的配置路径存放生成的 STD.LNT ;4 接下来是挑选编译器,在下拉框中挑选自己使用的编译器;这里我们挑选 Microsoft Visual C+ 6.x co-msc60.lnt ,点击下一步;名师归纳总结 - - - - - - -第 5 页,共 35 页精选学习资料 - - - - - - - - - 图 2.2.4 说明: 假如没有自己使用的编译器,可挑选通用编译器:Generic Compilers ;这个选项会表达在 co-xxx.lnt 文件中,并存放在前面我们挑选的配置路径(C:PCLint8 )下,在后面配置选项我们所挑选的 *.LNT 均会被存放到这个路径下;5 接着会让你挑选一个的内存模型,可以依据自己程序区和数据区的实际大小挑选一个恰当的内存模型;内存模型的选项会表达在 STD.LNT 文件中;缺省挑选 32-bit Flat Model. ,然后选下一步;名师归纳总结 - - - - - - -第 6 页,共 35 页精选学习资料 - - - - - - - - - 图 2.2.5 6选完内存模型后, 会看到一个库类型的列表,在这里挑选一个或多个编译时使用的库;建议挑选 Microsoft's Foundation Class library 和 Windows NT ,Windows 32-bit ,名师归纳总结 假如你用到了Standard Template Library ,当然也选上,挑选下一步;第 7 页,共 35 页- - - - - - -精选学习资料 - - - - - - - - - 图 2.2.6 说明:各种库的配置文件名为lib-xxx.lnt ,配置向导会把选中的库的lnt 配置文件拷贝到配置路径下;7接着是让你挑选为使用C/C+ 编程提出过重要建议的作者,挑选的某作者后, 他提出的编程建议方面的选项将被打开,作者建议的配置名为 挑选,挑选下一步;图 2.2.7 AU-xxx.LNT ;建议全部说明: 同样,选中作者建议的 AU-xxx.LNT ,也会被配置向导拷贝到配置路径下;8 下一步是挑选用何种方式设置包含文件目录;这里我们挑选用-i 方式帮助我们来设置,然后挑选下一步;名师归纳总结 - - - - - - -第 8 页,共 35 页精选学习资料 - - - - - - - - - 图 2.2.8 说明:这里有两种选项: 第一种选项是使用-i 选项帮助我们设置, -i 选项表达在STD.LNT文件中,每个目录前以 建议挑选第一种;-i 引导,目录间以空格分隔;其次种是跳过这一步,手工设置;9假如步骤 8 中挑选使用 -i 选项, 安装程序会接着让你输入包含文件所在的目录;在下面的文本框里,可手工输入文件包含路径,用分号“;” 或用 ctrl+Enter 换行来分名师归纳总结 割多个包含路径; 或者可以点中Brows ,在目录树中直接挑选;填完后挑选下一步;第 9 页,共 35 页- - - - - - -精选学习资料 - - - - - - - - - 图 2.2.9 说明: 假如不输入包含文件目录,直接挑选下一步,在安装完成后在std.lnt 文件中手工添加,留意假如目录名中有长文件名,使用时要加上双引号 FilesMSVCVC98Indlue”;” ”,如 -i”E:Program 10 然后显现以下对话框,表示 std_a.lnt,std.lnt 在配置路径下已被创建,这里的 std.lnt实际上就是 std_a.lnt 的一个拷贝,只是在缺省方式下,lint 时使用的配置文件是std.lnt;图 2.2.10 挑选确定后,这里将会问你是否进行另一个编译环境的配置;这里我们挑选否;名师归纳总结 - - - - - - -第 10 页,共 35 页精选学习资料 - - - - - - - - - 图 2.2.11 说明: 假如选是, 将会从第 4 步开头进行配置,在配置完了包含路径后,会显现下面的对话框, 表示另一个编译环境的 std_b.lnt 配置文件在配置路径下被创建,并且问你是否要用这个文件替换已经存在的 std.lnt,以使得最终配置的编译环境的配置成为 lint 时的缺省配置;图 2.2.12 11接下来将会预备产生一个掌握全局编译信息显示情形的选项文件OPTIONS.LNT ,这里挑选 No,即不取消这些选项;图 2.2.13 名师归纳总结 - - - - - - -第 11 页,共 35 页精选学习资料 - - - - - - - - - 说明:该文件的产生方式有两种,一种是安装程序对几个核心选项逐一说明并提问你是否取消该选项, 假如你挑选取消,就会表达在 OPTIONS.LNT 文件中, 具体表达方式是在该类信息编码前加-e,后面有一系列逐一挑选核心选项的过程;假如挑选其次种挑选方式,安装文件会先生成一个空的 要的选项;OPTIONS.LNT 文件, 等你以后在实际应用时加入必12接着挑选所支持的集成开发环境选项,可选多个或一个也不选,PC-LINT供应了集成在多种开发环境中工作的功能,例如可集成在VC 、BC、Source Insight 中;这里我们挑选 MS VC+6 ,这样 env-v6.lnt 就会被拷贝到配置路径中;图 2.2.14 13 安装程序会生成一个 LIN.BA T 文件,该文件是运行 PC-LINT 的批处理文件,为了使该文件能在任何路径下运行,安装程序供应了两种方法供你挑选;第一种方法是让你挑选把 LIN.BAT 拷贝到任何一个 PATH 目录下;其次种方法是生成一个LSET.BAT 文件,在每次使用 PC-LINT 前先运行它来设置路径,或者把 LSET.BAT文件的内容拷贝到 AUTOEXEC.BA T 文件中; 建议挑选第一种方法,指定的目录为安装目录;名师归纳总结 - - - - - - -第 12 页,共 35 页精选学习资料 - - - - - - - - - 图 2.2.15 图 2.2.16 名师归纳总结 14配置完毕;第 13 页,共 35 页- - - - - - -精选学习资料 - - - - - - - - - 图 2.2.17 说明: 以上配置过程中在配置路径下产生的多个 *.lnt 文件,除了 std.lnt, std_a.lnt,std_b.lnt ,option.lnt 为配置向导所生成,其它 co-xxx.lnt ,lib-xxx.lnt , env-xxx.lnt 均是从C:Lint8lnt 中拷贝出来的,在这个目录下仍有其它 PCLint 所支持的编译器、库及集成开发环境的 lnt 配置文件,全部的 lnt 文件均为文本文件;上面的配置方法适合于刚开头接触PC-lint 时使用,对于娴熟的使用者可以直接编辑、编写各 *.lnt 配置文件安成上面的配置工作,或者定制出更适合自己使用的配置环境;3. 使用方法3.1 命令行方式命令行的使用方式是 PC-lint 最基本的使用方式,也是其他各种集成使用方式的基础,通过命令行可以完成 PC-lint 的全部代码分析工作;PC-lint 的命令行有以下形式:Lint-nt option file1 file1 file3 其中的 Lint-nt 是 PC-lint 的可执行程序 (见 2.1 安装),它完成 PC-lint 的基本功能; option代表 PC-lint 可接受的各种选项,这是PC-lint 最为复杂的部分,它的选项有300 多种,可以分为:错误信息禁止选项、变量类型大小选项、冗余信息选项、标志选项、输出格式选项和其他选项等几类,后面会有更多 的介绍; file 为待检查的源文件;另外值得留意的一点是,在命令行中可以加入前面提到的 *.lnt 配置文件名,并可以把它看作是命令行的扩展,其中配置的各种选项和文件列表,就和写在命令行中具有一样的效果;名师归纳总结 - - - - - - -第 14 页,共 35 页精选学习资料 - - - - - - - - - 3.2 集成到 IDE方式3.2.1 集成到 VC中在集成开发环境中,PC-Lint 8.0 对 VC+6 和 VC+7.0 的支持是最完善的,支持直接从VC 的工程文件( VC6 是*.dsp,VC7 是*.vcproj )导出对应工程的.Lnt 文件,此文件包含了工程设置中的预编译宏,头文件包含路径,源文件名,无需人工编写工程的 .Lnt 文件;下面是集成到的 VC6 中的 tools 设置说明,参见 C:Lint8lntenv-vc6.lnt 中的注释:导出当前工程的 .lnt 文件 用来导出工程设置和源文件名,头文件包含路径 ,下面的对话框点击菜单的 Tools->Customize->Tools 可以看到;图 3.2.1.1 PC_LINT 8.0 Export Project.Lnt Command: C:PCLint8LINT-NT.EXE Arguments: +linebuf $TargetName.dsp>$TargetName.lnt Initial directory: $TargetDir. 当修改过工程设置中的头文件包含路径、预编译宏或新增源文件后,需要重新导出工程的 lnt 文件,否就修改后的设置无法自动表达在工程的 lnt 文件中;以上设置只要修改 Command 中的 Lint-nt.exe 所在路径即可;执行过这个命令后,$TargetName.lnt 被放到 $TargetName.dsp 所在目录中( $TargetDir. 下),假如胜利,打印出 的 返 回 值 为 0 , 如 果 失 败 就 返 回 非 零 值 , 具 体 出 错 信 息 需 查 看 $TargetDir. $TargetName.lnt 文件内容;其中 $ 的字串为VC 的参数宏,调用工具命令时VC 将它们替换为对应的字符串;$TargetName为当前激活的工程名 (通过菜单 或在 WorkSpace 的工程树上右键对应的工程挑选Project->Set Active Project 设置当前激活工程,Set as Active Projec ),$ TargetDir 为当前激活工程输出目标文件所在路径(一般缺省为工程所在目录下的 Debug 或 Release 目录),具体参数宏的含义说明参考MSDN 中的 VC 的使用指南;名师归纳总结 - - - - - - -第 15 页,共 35 页精选学习资料 - - - - - - - - - 在 Initial directory 的$TargetDir. 表示在这个目录下执行此命令;注:参数 +linebuf 表示 加倍行缓冲的大小,最初是 行和你读到的最长行的信息;检查当前激活工程中当前窗口中的源文件;图 3.2.1.2 PC_LINT 8.0 For Unit Check Command: C:PCLint8LINT-NT.EXE 600 bytes;行缓冲用于存放当前Arguments: -i"C:PCLint8" -u std.lnt env-vc6.lnt $TargetName.lnt "$FilePath" Initial directory: $TargetDir. 留意这一步最简洁出错误; 与;,路径不同,会显现找不到头文件的路径的情形执行此命令前提是 $TargetDir. 目录下已经有工程的 $TargetName.lnt 文件,这个文件 在步骤 1 中生成;第一个参数 -i"C:PCLint8" 为 lint 搜寻 *.lnt 文件的目录,这里就是我们的配置路径;std.lnt 就是前面配置过程中生成编译环境的配置文件,假如有需要支持多个编译环境,可以直接改成对应的配置文件名,例如这里可以改为std_a.lnt,表示使用std_a.lnt 中所配置的编译环境设置;最终一个参数 "$FilePath" 就是当前窗口中的带路径的源文件名;需要留意的是,当前 窗口中打开的源文件肯定要属于当前激活的工程,否就 lint 可能会出错;检查当前激活工程中的全部源文件;名师归纳总结 - - - - - - -第 16 页,共 35 页精选学习资料 - - - - - - - - - 图 3.2.1.3 PC_LINT 8.0 For Project Check Command: C:PCLint8LINT-NT.EXE Arguments: +ffn -i"C:PCLint8" std.lnt env-vc6.lnt $TargetName.lnt Initial directory: $TargetDir. 执行此命令前提是 $TargetDir. 目录下已经有工程的 $TargetName.lnt 文件,这个文件 在步骤 1 中生成;此命令把 $TargetName.lnt 中所包含的源文件lint 一遍,假如工程比较大的话,一般输出的内容会超过VC 的输出窗口的缓冲区大小,导致只能看到后面一部分Lint 的信息,可以把 Arguments改为+ffn -i"C:PCLint8" std.lnt env-vc6.lnt $TargetName.lnt>$TargetName.txt 把结果输出到一个名为$TargetName.txt 的文件里;注:参数中的 +ffn 表示 Full File Names ,可被用于掌握是否使用的完整路径名称 表示;3.2.2 集成到 CB中从 PC-Lint8.0j 版本开头,支持从 C+Builde 6 的工程文件 .bpr 导出工程的 Lint 配置;自动导出 C+ Builder6 的工程设置 lnt 文件的方法参见 C:Lint8read80.txt 中的说明, 下面是集成到的 CBuilder6 中的 tools 设置说明:运行 C:Lint8Config.exe 将 lint 环境配置为 C+Builder 的;要求需要 lint 的工程的工程文件 .bpr,源文件 .c、.cpp 和最终工程生成的最终文件这 3者要在同一个目录下,否就下面说明中的Working dir 要手工修改;导出当前工程的 .lnt 文件 用来导出工程设置和源文件名,头文件包含路径 :从 C+ Builder 的 Tools 菜单中挑选 “ Configure Tools ” 命令项,在打开的 Tool Options 对话框中点击 Add 按钮;按图 填入各项参数;由于CBuilder6 对命令行参数传递重定向命令的处理有问题,所以名师归纳总结 - - - - - - -第 17 页,共 35 页精选学习资料 - - - - - - - - - 仍需要编写一个LINTEXP.BAT完成此功能;图 中各参数的内容参见后面的LINTEXP.BAT批处理文件内容的注释;图 3.2.2.1 LINTEXP.BA T 的内容如下:echo off rem Title : &Export Project.Lnt file rem Program : E:BorlandCBuilder6BinLINTEXP.BA T rem Parameters : $NAMEONL Y$EXENAME.bpr $NAMEONL echo on Y$EXENAME.lnt C:Lint8LINT-NT.EXE +fpa -d"BCB=e:borlandcbuilder6" %1>%2 其中 E:BorlandCBuilder6 为 C+Builder6 的安装目录,需依据实际情形修改;$NAMEONL Y()是 CBuilder6 供应的一个宏函数,将文件名的后缀去掉,$EXENAME代表了工程最终生成的文件名,这里要求它和工程的 检查当前工程中当前窗口中的源文件:.bpr 去掉后缀的文件名同名;图 3.2.2.2 Title : Lint For Current File Program : C:Lint8LINT-NT.EXE Parameters : $SAVE -u -v -iC:Lint8 std env-cb $NAMEONL Y$EXENAME.lnt $EDNAME 和 VC6 的集成方法一样, 由于参数中需要工程的lnt 文件,执行此命令前提是源文件所名师归纳总结 在目录下已经有工程的$NAMEONL Y$EXENAME.lnt文件,这个文件在步骤3 中生成;第 18 页,共 35 页其中 $EDNAME表示当前编辑的源文件名;- - - - - - -精选学习资料 - - - - - - - - - 检查当前工程中的全部源文件;图 3.2.2.3 Title : &Lint For Current Project Program : C:Lint8LINT-NT.EXE Parameters : $SAVEALL -v -i"C:Lint8" std env-cb $NAMEONLY$EXENAME.lnt 执行此命令前提是源文件所在目录下已经有工程的 $NAMEONL Y$EXENAME.lnt 文件,这个文件在步骤 3 中生成;设置 Build Tool 在 Project Manager 中检查指定的单个源文件:从 C+ Builder 的 Tools 菜单中挑选 “ Build Tools ” 命令项,在打开的 Build Tools 对话框中点击 Add 按钮;按图 填入各项参数;图 3.2.2.4 Title: Lint Other Extensions: .cpp;.c;.cxx 名师归纳总结 Command Line : C:Lint8LINT-NT.EXE VE -u -i"C:Lint8" std.lnt env-cb.lnt 第 19 页,共 35 页-i$INCLUDEPATH -D$DEFINE $NAME $SA- - - - - - -精选学习资料 - - - - - - - - - 其中 $INCLUDEPA TH 为工程设置中的 添加后,如include 路径,$DEFINE 为工程设置的预编译宏;图在 Project Manager 中的源文件上点击鼠标右键,挑选 Lint 就开头检查选中的文件了,输出信息在 Build 窗口;图 3.2.2.53.2.3 集成到 SI中Source Insight 的集成方法参见 C:Lint8lntenv-si.lnt 中的注释;从 Options 菜单中挑选“Custom Commands” 命令项;点击 Add ;在 Name 栏中输入“PC-lint unit check ” ,原就上这个名称可以任凭起,只要你能搞清晰它的含义就可以了;在 Run 栏中输入“C:Lint8lint-nt -u -iC:Lint8 std env-si %f” 其中 C:Lint8 是你 PC-LINT的安装目录;在 Outpu

    注意事项

    本文(2022年完整word版,PC-lint安装及使用总结.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开