提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-08-15 11:23:10.740|阅读 45 次
概述:在这篇文章中,将为您解释如何将Parasoft C/C++test静态分析功能集成到基于CMake的项目中,您可以对单元测试执行同样的操作。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
您可能一直在静态分析中使用CMake。但您是否尝试过将Parasoft C/C++test与CMake一起使用吗?以下是如何使用C/C++test在基于CMake的项目中运行静态分析的详细说明。
CMake是用于构建、测试和打包软件的最流行的工具之一。Parasoft C/C++test通过简化构建管理过程,简化了与基于CMake的项目的集成。项目越大,影响就越明显。
Parasoft团队在为一家大型知名汽车制造商推出测试解决方案期间开发了这些增强功能。我们的目标是在基于自适应AUTOSAR平台的大型复杂项目中引入静态分析和单元测试功能。这些项目由多个静态和动态库以及许多可执行文件组成。
要执行静态代码分析,Parasoft C/C++test等工具需要有关项目构建的信息。通常,所需要的只是编译命令行,用来调用用于分析的文件。
有不同的方法可以把C/C++test集成到构建过程中。不同的构建系统可能需要不同的方法。有了基于CMake的项目,就可以轻松地进行静态分析,并且只需对工作流进行最小的修改。这有助于与C/C++test顺利集成。
CMake脚本可以很容易地配置将编译时信息生成为JSON文件。通常每次构建都会得到一个JSON文件。这个JSON文件包含静态分析器执行代码扫描所需的所有内容。然后在生成构建脚本时创建带有编译命令行的JSON文件。C/C++test可以识别这种格式,并可以直接将其用作执行静态分析的导入文件。
在基于CMake的项目上运行静态分析的过程涉及以下步骤:
使用编译命令启用JSON文件的生成。这是一次性活动。
生成构建脚本。这将包括编译信息JSON文件生成。
通过将JSON文件中的编译信息作为静态分析的导入文件来运行静态分析。
2.1 基于CMake的项目静态分析实例
让我们一起看一个在基于CMake的项目上运行静态分析的示例。如果您也有相同的环境,请咨询Parasoft China获取C/C++test试用。
遵循以下步骤
安装后,转到安装目录并进入examples子文件夹。复制Timer示例并进入Timer目录。(这些步骤都是在Linux系统上操作的。)您应该看到以下内容:
准备使用位于主目录中的Makefile文件或使用CMake生成的构建脚本来构建此示例。
在Timer文件夹下面创建一个build文件夹,并且进入到build文件夹下,通过调用CMake脚本来构建Timer项目。
如果我们显示出build目录的内容,我们将看到生成了compile_commands.json文件。
对于下一个示例项目,我们已经启用了生成编译信息JSON文件的功能。
现在,我们准备使用生成的compile_commands.json文件运行静态分析。这个方法最大的一个优点就是,我们可以将.json文件直接用在Parasoft C/C++test命令行界面中:
等待命令执行结束。静态分析就完成了,并且生成了报告。
这种集成方法可以用于持续集成(CI),也可以在开发人员桌面上本地使用。唯一可能需要的修改是启用compile_command.json文件生成的功能。
如果您的项目中没有启用compile_command.json文件的生成,我们可以用两种方法之一来实现。
方法1:
在CMakeLists.txt文件中,将CMAKE_EXPORT_COMPILE_COMMANDS选项设置为ON。
示例:
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
方法2
在生成构建脚本时,将其添加到cmake的命令行调用中。
示例:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 <path to src>
了解更多有关Parasoft产品咨询,欢迎咨询
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至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幢