没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:张莉|2025-09-12 11:11:57.847|阅读 60 次
概述:在现代C/C++软件开发中,尤其是大型、跨平台的嵌入式或系统级项目中,高效且统一的构建流程是保障开发效率与产品质量的基石。CMake作为一个强大的构建系统生成器,正是为了解决这一核心问题而设计的。它允许开发者使用一种简单统一的脚本语言(CMakeLists.txt)来描述项目的构建过程,然后根据目标平台和开发者偏好,自动生成相应的原生构建文件。极大地简化了跨平台项目的配置与管理复杂度。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
在现代C/C++软件开发中,尤其是大型、跨平台的嵌入式或系统级项目中,高效且统一的构建流程是保障开发效率与产品质量的基石。CMake作为一个强大的构建系统生成器,正是为了解决这一核心问题而设计的。它允许开发者使用一种简单统一的脚本语言(CMakeLists.txt)来描述项目的构建过程,然后根据目标平台和开发者偏好,自动生成相应的原生构建文件。极大地简化了跨平台项目的配置与管理复杂度。
今天我们将详细介绍如何在Parasoft C/C++test这一专业代码质量保障平台中,通过两种方式提升项目的代码质量与测试效率,去实现高效静态代码分析与单元测试,帮助团队在复杂的项目环境中精准掌控代码质量。
在CMake 项目中,Parasoft C/C++test 主要提供两种方式:一是通过生成.json文件的形式,二是通过直接修改 CMakeLists.txt 文件的方式。接下来我们以cpptest安装包下Timer项目为例,基于Linux操作系统来进行演示。
一、.json文件的形式
1.命令行下的静态分析
复制Timer项目,进入Timer目录
项目结构如下
通过使用cd在Timer目录内创建一个构建文件夹,使用CMake调用生成脚本。
我们可以看到已经生成了compile_commands.json文件。
使用cpptestcli命令进行静态分析,如下图所示
执行成功的效果图
以上即为命令行的方式进行静态分析的步骤。
我们通过CMake工具生成一个记录了项目所有编译设置的compile_commands.json文件,然后让Parasoft C/C++test命令行工具读取这个文件来自动化地进行静态代码分析。能精准、高效、批量地检查出代码中的潜在缺陷和合规性问题,并且这种命令行方式非常适合集成到自动化流程中,实现每次代码提交后的自动检查。
如何在项⽬中启⽤⽣成文件
⽅法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>
在项目中启用compile_commands.json文件的生成,是为了向静态分析工具提供一份机器可读的、精确的项目编译数据库。
该文件完整记录了构建系统(如CMake)编译每个源文件时所使用的全部命令参数。
2.以界面的形式进行静态分析和单元测试
对于生成的compile_commands.json文件进行导入项目,操作步骤如下:
以下为执行内建规则MISRA C 2023 (MISRA C 2012)执行成功的控制台效果图
以下为执行单元测试的效果图
二、修改CMakeLists.txt文件的方式
在Timer项目中,我将CMakeLists.txt中的参数修改为如下形式,
创建build2文件夹,并执行 cmake -DCPPTEST_PROJECT=ON ..
可以发现我的项目目录下多了文件,这些文件正是我们导入项目所需要的
接下来进行导入项目的操作,点击Import projects,再选择现有项目到工作空间中。
点击下一步,选择我们项目(刚才生成的两个配置文件的根目录)
这样项目就导入成功了。
导入compile_commands.json文件的核心目的,是为Parasoft C/C++test提供一份由构建系统(如CMake)自动生成的、机器可读的完整编译数据库,使其能够精准复现项目真实的构建环境。消除了因路径、宏定义或编译选项配置错误导致的误报与漏报。
把 Parasoft C/C++test 用到 CMake 项目中,团队基本上有两种简单又高效的选择,既可以通过导入 compile_commands.json 快速开展静态分析,也可以直接修改 CMakeLists.txt 文件,深度集成并生成 C/C++test 项目,轻松实现静态分析和单元测试。不管哪种,都能让团队在复杂的项目环境中,更顺畅地推进代码质量检查。
通过以Timer项目为例的演示,可以看出这种集成方式能够与现有 CMake 构建系统无缝衔接,在不影响开发流程的同时,还能帮助团队自动、持续地执行代码合规检查与质量评估。使团队可以更有效地保障软件产品的可靠性与安全性,为交付高标准成果提供了可靠的技术保障。
关于慧都
慧都是一家行业数字化解决方案公司,专注于软件、石油与工业领域,以深入的业务理解和行业经验,帮助企业实现智能化转型与持续竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
Parasoft C/C++test作为一款功能全面的自动化代码质量保障工具,为C/C++开发者提供了静态分析、单元测试和运行时错误检测等核心功能。通过将其与轻量级且广受欢迎的VScode编辑器集成,开发团队可以在熟悉的编码环境中实时获得代码质量反馈,有效提升开发效率与代码可靠性。
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
本教程主要为大家介绍如何使用DevExpress WinForms数据网格控件自定义排序和非排序列,欢迎下载最新版组件体验!
在使用自动化测试工具Parasoft C/C++test进行大规模代码分析时,合理的并行处理配置是保证分析效率与系统稳定性的关键。实际使用过程中,当处理大型代码项目时,用户可能会遇到系统资源过度消耗的问题。从系统监控数据可以看到,多个cc1分析进程同时以100%的CPU利用率运行,这表明系统正在经历严重的资源竞争。这种情况通常会导致分析速度下降,甚至出现系统卡死的现象,严重影响开发效率。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢