彩票走势图

C和C ++的静态分析工具PC-lint Plus v1.3更新内容:改进MISRA C ++

翻译|行业资讯|编辑:莫成敏|2019-12-25 15:39:28.327|阅读 339 次

概述:在PC-lint Plus最新版本中,改进了关于MISRA C ++的内容,现在就跟着小编来看看更新了哪些内容吧~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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

在PC-lint Plus最新版本中,改进了关于MISRA C ++的内容,现在就跟着小编来看看更新了哪些内容吧~

点击下载PC-lint Plus免费版


MISRA C ++的改进:

  • PCLP-2700 消息9114(MISRA C ++ 5-0-3)现在即使仅转换基础类型而未转换实际类型,也报告违反规则

    现在将发出消息9114,以进一步违反此规则,在该规则中,C ++语言中没有进行任何转换,但是MISRA基础类型仍然发生了更改。例如,当在sub-int操作数上使用二进制算术运算符时,在执行操作之前,这些操作数已被提升为int,并且如果将结果赋给int类型的对象,则结果将不会进行任何进一步的实际转换。现在,这些情况将报告从sub-int操作数类型到目标类型的概念性基础类型转换。请注意,其他类似规则(例如MISRA C ++ 5-0-4)已经以这种方式运行。

  • PCLP-2705 改进了对MISRA C ++规则7-1-1的支持

    除了消息952(参数可以是const)之外,消息953(局部变量可以是const)和843(静态存储持续时间变量可以是const)现在支持MISRA C ++规则7-1-1。

  • PCLP-2741 改进了对MISRA C ++规则5-2-4的支持

    新消息1946(使用功能样式转换将类型转换为类型)改进了对MISRA C ++规则5-2-4的支持。

  • PCLP-2774 纠正误报1536消息

    1536的处理未正确处理指针成员变量。例如,以下将为指示的行生成1536消息:

  • PCLP-2798 改进了对规则5-0-3和5-0-6的复合赋值运算符的支持

    扩展了对规则5-0-3和5-0-6的支持,以报告由复合分配操作员隐含的操作引起的违规行为。

  • PCLP-2832 改进了对MISRA C ++规则3-9-3的支持

    当采用浮点型对象的地址时,不再发出消息9110。现在,新消息2499和2498报告了使用具有memcmp语义的函数来分别比较指向浮点型对象的指针,或指向包含浮点型对象的结构的指针。

  • PCLP-2877 支持数字相关的字符算术例外

    MISRA C ++ 2008规则4-5-3中与算术操作和代表数字的字符比较有关的例外现在应用于消息9112和9128。

  • PCLP-2880 忽略消息9141(7-3-1)的所有外部“C”声明

    对于带有外部“C”链接的任何声明,将不再发出消息9141。以前,有问题的特定声明必须明确标记为extern“C”才能被豁免,但这对于friend声明是不可能的,而对于以前声明为extern“C”的函数的其他重新声明则是不必要的。

  • PCLP-2881 新的解释选项限制了用于基础类型确定的常量表达式的定义

    新的MISRA C ++ 2008解释忽略了const变量的常量表达式基础类型规则,将避免应用规则,该规则将整数常量表达式的基础类型确定为当表达式涉及const或constexpr变量时能够表示该常量的最小类型。默认情况下,此解释为关闭。

  • PCLP-1840 MISRA C ++ 2008规则5-2-8仅向一个方向强制转换

    规则5-2-8以前由选修的notes 923和925的支持,该选修笔记报告了该规则涵盖的类型之间的类型转换,而与方向无关。它们已由消息9079和新消息9010代替,它们仅报告沿禁止方向的投射。

  • PCLP-2908 改进了对MISRA C ++规则7-1-2的支持

     现在,消息1764(功能的引用参数可以引用const)补充了消息818(参数可以是指向const的指针)以支持MISRA C ++规则7-1-2。

  • PCLP-2939 改进了对MISRA C ++ 2008规则4-10-2的支持

    当在另一个宏中扩展NULL时,使用NULL宏作为空指针常量的情况不再被报告为违反MISRA C ++规则4-10-2。

  • PCLP-2943 改进了对MISRA C ++规则2-13-2的支持

    现在已通过消息9001报告八进制常量的使用,这违反了MISRA C ++规则2-13-2。


想要购买PC-lint Plus正版授权,或了解更多产品信息请点击

850×0.png


标签:

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

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP