【FAQ】C和C ++的首选静态分析工具PC-lint Plus最新问题集(五)

翻译|使用教程|编辑:李显亮|2021-04-26 11:02:11.087|阅读 41 次

概述:本文针对C和C ++的首选静态分析工具 PC-lint Plus 最新问题,进行了罗列和解答。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

相关链接:

PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。

点击下载PC-lint Plus试用版


Q1:如何在不分析库头的情况下进行MISRA检查?

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或确定最新的可用版本?

新版本会在新闻页面上公布,并通过电子邮件分发给注册客户。如果你使用的是旧版本,并且没有收到更新邮件,请联系sales@gimpel.com并提供您的序列号。

未完待续~


想要购买正版授权,或者获取更多该产品相关信息的朋友可以点击" 咨询在线客服 "~

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat