没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-08-15 11:23:10.740|阅读 47 次
概述:在这篇文章中,将为您解释如何将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@wqylolg.cn
近日,DHTMLX宣布推出全新的 DHTMLX React Gantt甘特图控件,旨在帮助开发团队更轻松地在 React 项目中无缝实现功能丰富的甘特图。
本文将为大家介绍活字格低代码平台在数字化转型中的实践,欢迎下载产品体验!
此次合作不仅是慧都在软件工程生态中的又一关键布局,也标志着慧都在远程连接、安全运维和数字化管理方向的解决方案进一步丰富,将为中国企业提供更加高效、稳定的远程连接工具支持,为加速企业数字化进程提供新动能。
BarTender 是由美国 Seagull Scientific 公司开发的一款全球领先的条码和标签设计打印软件。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢