本文针对C和C ++的首选静态分析工具 PC-lint Plus 最新问题,进行了罗列和解答。
Q1:如何在不分析库头的情况下进行MISRA检查/span>
A:如果你在MISRA的作者文件中寻找:
- au-misra1.lnt
- au-misra2.lnt
- au-misra3.lnt
- au-misra-cpp.lnt
你会发现他们明确地启用了库头的消息输出。例如,在au-misra3.lnt中,你会看到规则4.9的这个条目。
/**** Dir 4.9 (Adv) ************/ +e9026 /* function-like macro defined */ +elib(9026) -append(9026,[MISRA 2012 Directive 4.9, advisory])
这里,相关的选项是+elib(9026):它要求针对出现在库头内的类似函数的宏定义输出9026信息。
这是明确设置的,因为汽车工业软件可靠性协会(MISRA)的标准通常假定开发者对目标系统的标准库实现和系统库实现的内容有控制权(在汽车工业中,这很常见),因此要求开发者在必要时分析和纠正他们库的内容。
如果你的安排不同(例如,如果你不打算编译你自己版本的标准库和系统库),那么你可以明确地禁用库代码的消息输出。一种方法是使用-wlib()选项来切换警告级别,从而 “擦除 “库区的消息抑制状态;这必须在对MISRA作者文件的引用之后进行。例如:
au-misra3.lnt // enables Elective Notes for library code-wlib(4) // raises the warning level-wlib(1) // lowers the warning level (and disables messages)
还要注意控制Lint是否将一个头文件视为 “库 “头文件的选项。
Q2:如何更新PC-lint Plus或确定最新的可用版本/span>
新版本会在新闻页面上公布,并通过电子邮件分发给注册客户。如果你使用的是旧版本,并且没有收到更新邮件,请联系sales@gimpel.com并提供您的序列号。
未完待续~
想要购买正版授权,或者获取更多该产品相关信息的朋友可以点击” 咨询在线客服 “~
标签:
来源:慧都网
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!