pclint告警消除报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pclint告警消除报告

pclint告警消除报告 PCLint选项详解 PCLint选项详解 目 录 1 错误信息禁止选项 2 变量类型大小选项 3 冗余信息选项 4 标志选项 5 格式输出选项 6 其它选项 7 编译器相关选项 8 各种使用说明 8.1 库模块文件的使用 8.2 汇编(非C、C++)文件的处理 8.3 强类型 8.4 PCLint的预处理符 8.5 选项的处理顺序 8.6 使告警最大化 9 附录:PCLint在Source Insight中的使用9.1 Source Insight的正规表达式 3 4 5 5 8 9 13 14 14 15 15 17 17 17 18 18 以下为PC-lint for C/C++ (NT) Ver. 7.50v版本配置参数的详细解释及用法举例。 LINT选项可以放在注释中,例如: /*lint option1 option2 ... optional commentary */ 选项可以有多行 //lint option1 option2 ... optional commentary 选项仅为一行 选项间要以空格分开,lint命令一定要小写,并且紧跟在/*或//后面,不能有空格。如果选项由类似于操作符和操作数的部分组成,例如-esym(534, printf, scanf, operator new),其中最后一个选项是operator new,那么在operator和new中间只能有一个空格。 选项还可以放在宏定义中,当宏被展开时选项才生效。例如: 告警 LINT的选项很多共有300多种,大体可分为以下几类: #define DIVZERO(x) /*lint -save -e54 */ ((x) /0) /*lint -restore */ 允许除数为0而不 I. 错误信息禁止选项 说明: “-” : 表示禁止输出相应的错误消息 “+” : 表示允许输出相应的错误消息 “#” : 允许使用通配符“?”和“*” 除了900级别(900-999)和1900(1900-1999)级别的告警消息缺省是关闭的外,其它的告警消息缺省均是打开的。 -e# : 禁止输出告警号为#的消息 -e(#) : 对于下一个表达式禁止输出告警号为#的消息 !e# --e(#) -eai : 整型数子类参数不一致,如:char/short vs. int -ean : 名义上的参数不一致,如:字节数相同(都是32位)的int和long等 -eas : 参数大小相同,如:如果int和pointer字节数相同,那么如果f()的参数应该 是pointer的话,用f(3)整型数调用就会报错,设置此项可以关闭告警 : 在本行禁止输出告警号为#的消息 : 对当前的整个表达式禁止输出告警号为#的消息 -eau : 参数类型一致,但是符号类型不一致,如:unsigned int和int 以上四个选项主要用于非原型的旧风格的C语言程序。其中eas涵盖了ean和eau。 -efile(#,File) 对指定文件禁止输出告警号为#的消息 -efunc(#,Func) 对于函数Func,禁止输出告警号为#的消息 -elib(#) : 对于库头文件禁止输出告警号为#的消息 -elibsym(#) 于 程 要 想完全的关闭该告警,使其在头文件和源文件中均不出现,请使用本选项 序中使用了会导致告警#的变量等,在分析源程序时还是会告警的,因此 elib之处在于-elib(#)仅仅当分析头文件时不输出相应的告警,如果你在源: 对于所有库头文件中的符号禁止输出告警号为#的消息,此告警不同 -emacro(#,Symbol) 对于宏Symbol,当其展开时禁止输出告警号为#的消息 -emacro((#),Symbol)对于宏Symbol,当其展开时禁止输出告警号为#的消息,与上一个选项的 区别是它会先将宏加上一对括号再判断,如:#define DIVIDE( n , m ) n / m 那么它会在宏展开时将n / m看作( n / m )来处理。用处不是很大。 -epn : 名义上的指针不一致,如:对于指向字节数大小相同的变量的指针 -eps : 指针指向的类型不同,但大小字节数相同 -epu : 指针指向的类型仅仅符号不一致 -epp : 指针指向的类型不确定 -epuc -epnc : 指针指向的字符串类型,其符号不一致 : 指针指向的字符串类型,仅仅名义上不同 -esym(#,Symbol) 对于指定的符号Symbol(可以是变量名、函数名等),禁止输出告警号为 #的消息,符号Symbol中可以使用通配符*和?。-e#的级别比较高,因此对 于-e714 +esym( 714,alpha ),后一个选项将不起作用 -etd(TypeDiff

文档评论(0)

1045141460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档