当前位置: 首页 > news >正文

使用cppcheck对代码静态分析

在 C/C++ 开发中,除了编译器的基础语法检查,静态代码分析工具能帮我们提前发现潜在的逻辑错误、内存泄漏、性能问题等“隐藏Bug”。cppcheck作为一款开源、跨平台、轻量级的静态分析工具,无需编译代码即可扫描,支持多种场景下的代码检查,是开发者提升代码质量的必备工具。

安装地址:cppcheck安装地址

一、基本使用

# 基本语法
cppcheck [选项] [文件或目录]
选项 说明
-h, --help 显示帮助信息
-v, --verbose 详细输出模式
-q, --quiet 安静模式,只输出错误信息
--version 显示版本信息
-j 指定并行检查的线程数
-i 排除指定目录
--enable= 启用特定类型的检查
--suppress= 抑制指定类型的警告
--output-file= 将结果输出到文件
--xml 以XML格式输出结果

1、 检查单个文件

cppcheck test.cpp

2、检查整个目录的所有C/CPP文件

cppcheck src/

3、忽略指定目录

# 忽略src/Function文件夹下的所有文件和data_check.c
cppcheck -i src/Function -i data_check.c src/

4、启用或禁用检查特定类型的错误

常用类型:

  • warning:警告。
  • style:代码风格问题。
  • performance:性能问题。
  • portability:跨平台兼容问题。
  • unusedFunction:未使用的函数。
# 启用所有检查,禁用unusedFunction
cppcheck --enable=all --suppress=unusedFunction src/
http://www.jsqmd.com/news/290531/

相关文章:

  • Java毕设选题推荐:基于SpringBoot+vue的演唱会门票购票网站系统基于springboot的演出网站订票系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 01vue3学习-创建项目
  • Java毕设项目:基于springboot的演出网站订票系统(源码+文档,讲解、调试运行,定制等)
  • 【毕业设计】基于springboot的演出网站订票系统(源码+文档+远程调试,全bao定制等)
  • 土壤水分温度盐分ph测定仪:可同步获取土壤水分、温度、盐分(电导率)及pH值等关键指标
  • LeGO-LOAM 激光里程计计算roll,pitch,tz增量详解
  • 字符设备驱动程序
  • testing
  • 两个 Docker 容器如何通信?Docker 网络问题完整踩坑与解决指南
  • 芒格的“避免失败“原则在前沿科技投资中的重要性
  • 关与短链接API,其中稳定无毒的少之又少。
  • 数据结构——冒泡排序 - 教程
  • 机械制造ToB企业获客困境与数字化解决方案架构深度解析
  • Java毕设项目:基于springboot的二次元商品商城系统(源码+文档,讲解、调试运行,定制等)
  • Java计算机毕设之基于SpringBoot + Vue的电子产品手机数码销售系统基于springboot的电子产品电子外设销售系统(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot的二次元商品商城系统(源码+文档+远程调试,全bao定制等)
  • 【课程设计/毕业设计】基于springboot的电子产品销售系统基于springboot的电子产品电子外设销售系统【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于SpringBoot与Vue的动漫周边商场系统设计与实现基于springboot的二次元商品商城系统【附源码、数据库、万字文档】
  • MyEMS开源能源管理系统:赋能生物化学农药及微生物农药制造业绿色低碳转型
  • 开源驱动零碳实践:MyEMS 赋能零碳工厂建设的核心路径
  • 服装加工ERP系统是什么?它能为企业带来哪些效率提升?
  • 【工具变量】全国地级市文旅融合DID数据集(2008-2025年)
  • 10399_基于SpringBoot的智慧养老院管理系统
  • 诺斯罗普·格鲁曼加速辐射测试
  • 代码源挑战赛 Round 47
  • 26年1月23算法
  • 编辑标题
  • Java数据结构*Map和 Set*
  • Java毕设选题推荐:基于springboot的电子产品电子外设销售系统基于springboot的电子产品销售系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的动漫周边商城的设计与实现基于springboot的二次元商品商城系统【附源码、mysql、文档、调试+代码讲解+全bao等】