提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:莫成敏|2019-11-20 11:55:32.660|阅读 514 次
概述:本文描述了C和C ++的静态分析工具PC-lint Plus v1.3更新内容中的总体改进,该部分内容一共分为了三个部分,本文是第一部分。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。
本文描述了在PC-lint Plus v1.3版本中的更新内容之一,总体改进,感兴趣的朋友可以请看下面内容~
总体改进:
PCLP-744 打印帮助时显示当前尺寸选项
现在将在打印帮助时指定大小选项的当前值(通过不带参数、带-help或带-help = -s运行)。
PCLP-1344 允许return和goto替换MISRA中的中断开关
新选项+ misra_interpret(任何允许返回以替换开关中的中断)和+ misra_interpret(任何允许goto替换开关中的中断)抑制消息9042(偏离MISRA开关语法),9077(缺少来自最终开关情况的无条件中断) 和9090(切换情况缺少无条件的中断或抛出)时,切换情况由return或goto语句而不是中断来终止。
PCLP-1351 消息9106现在包括完整的MS整数文字后缀
当为Microsoft整数文字后缀(例如i32)发出消息9106(小写字母后缀)时,消息9106现在将在消息中包含完整的整数文字后缀,而不仅仅是字母部分(例如i32而不是仅i)。
PCLP-1944 消息912的更新和澄清
现在,消息912特别报告与二进制运算符有关的类型转换何时将值转换为不同于仅整数提升会选择的类型的值。消息描述已更新,以澄清消息的情况和含义。
例如,添加一个char和long将产生:
note 912: left operand of binary operator ’+’, originally of type ’char’ and promoted to type ’int’, will be further converted to type ’long’ due to usual arithmetic conversions with right operand of promoted type ’long’ c + L; ~ ^
仅当将操作数转换为整数提升选择的类型时(如添加两个子整数值时),将不再发出该消息。
PCLP-2613 改善前移goto的处理
与前向goto的使用有关的误报率降低了(即在功能中稍后指向标签的goto),尤其是在消息774、838和948方面。
PCLP-2005 对消息3701的列表初始化的处理的改进
消息3701将不再发出以进行std :: initializer_list初始化。仍然会为其他形式的括号列表初始化发布该消息,但是消息文本将明确提到必须将括号删除才能使用位置。
PCLP-2107 复合文字的值跟踪
值跟踪现在将跟踪由复合文字在C中创建的结构的字段,并可以报告释放后在使用块范围复合文字时的情况。
PCLP-2215 忽略clang搜索中的框架目录后缀包括macOS上pclp_config的路径
使用pclp_config生成编译器配置时,不再将macOS上框架搜索路径后列出的(框架目录)后缀解析为路径的一部分。
PCLP-2250 改进对链式清理的支持
如果消息1540和1578调用了另一个清除功能,则它将不再报告清除功能或析构函数执行清除失败。
PCLP-2270 消息778不再在静态断言内部发出
消息778(常量表达式在操作中的值为0)不再在表达式必须为常量的静态声明内发出。
PCLP-737 将推论扩展到算术表达式中的变量
推断变量在算术表达式中的位置,其中涉及加法或减法,例如现在支持+ sizeof(int)<16。请注意,推理中的常量操作数始终支持任意表达式,例如a <10 * 5。
PCLP-2418 改进了对IAR编译器的支持
在pclp_config生成的配置中增加了对其他IAR关键字的支持。在文档中添加了有关为C ++生成配置的注释。
PCLP-2461 减少与循环迭代期间被调用函数中if语句条件的含义有关的Value Tracking中的误报
报告值明显与报告的位置的本地信息相矛盾的误报消息已减少,这些值是由循环内调用函数中的if语句所暗示的隐含影响所致。受影响的情况主要表现为消息613的实例,伴随着两个补充消息,两个补充消息的位置相同,这是指一个if语句在循环中的先前函数调用期间测试所报告的指针的情况。
PCLP-2462 考虑通过引用不同类型来使用价值
消息438和838将不再报告仅通过已转换为其他类型的引用使用该值时未使用该值。
PCLP-2470 报告445(索引变量的重用)用于任意级别的嵌套
现在,消息445报告for索引变量的重用,即使它嵌套在一个或多个内部for语句内。
PCLP-2485 向消息9022添加可选的字符串参数
消息9022(宏定义中的未括号的宏参数)现在具有一个可选的字符串参数,用于报告以下情况:未括号的参数与字符串文字相邻(因此不能被括号)或未括号的部分被包围用逗号分隔。在这种情况下,字符串参数将是与字符串文字相邻或由逗号包围的参数之一。这允许消息支持CERT C建议PRE01-C,该建议允许针对这些情况的异常(通过基于字符串参数的值来禁止显示此消息),同时仍支持MISRA C 2012规则19.10(不支持)。
PCLP-2511 改进了对消息1764的结构引用的处理
消息1764现在认识到,如果通过参数将对非const的引用绑定到结构的字段,则无法将对结构的类型引用的参数作为对const的引用。
PCLP-2874 改进了工会的价值跟踪
对联合的初始化、赋值和活动成员的支持得到了改进,减少了与类型校正和总体初始化状态有关的误报。
PCLP-2568 pclp_config提取Microsoft C / C ++编译器宏的值
自动配置工具pclp_config现在提取已记录的Microsoft C / C ++编译器预定义宏的值。
PCLP-2586 减少涉及循环期间读取和写入的变量的“未使用”消息的误报
在已经嵌套的if语句已被循环读取和写入变量的情况下,涉及消息438和838的误报。
PCLP-2587 改进不确定溢出的推断值的无符号加法的计算
包含至少一个表示为间隔的值的无符号加法,其和在计算中的溢出是不确定的,因此先前可能会产生似乎确实发生了溢出的结果。这最常表现为假阳性774或845。
PCLP-2597 消息774的新变量/函数/ maro参数
现在,消息774将通过相关的变量,函数或宏(如果可用)进行参数化。例如:
void f(int x) { x = 5; if (x) { } }
现在将发出:
info 774: boolean condition for ’if’ always evaluates to ’true’ (involving variable ’x’)
PCLP-2607 对消息2701的模板处理的改进
消息2701将不再报告功能模板实例化或不明确的变量模板的特殊化。
想要购买PC-lint Plus正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢