使用cppcheck对代码静态分析

news/2026/1/23 22:40:34/文章来源:https://www.cnblogs.com/lsksp/p/19524201

在 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.mzph.cn/news/1206766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java毕设选题推荐:基于SpringBoot+vue的演唱会门票购票网站系统基于springboot的演出网站订票系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

01vue3学习-创建项目

1、创建项目npm create vue@latest按提示输入 2、安装依赖包npm install3、安装插件TypeScript Vue Plugin (Volar)Vue Language Features (Volar 4、运行项目npm run dev

Java毕设项目:基于springboot的演出网站订票系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于springboot的演出网站订票系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

土壤水分温度盐分ph测定仪:可同步获取土壤水分、温度、盐分(电导率)及pH值等关键指标

土壤水分温度盐分pH测定仪是一款集多参数测量功能于一体的专业农业监测设备,可同步获取土壤水分、温度、盐分(电导率)及pH值等关键指标,为农业生产、土壤研究及环境监测提供全面数据支持。该测定仪采用一体化设计,体积…

LeGO-LOAM 激光里程计计算roll,pitch,tz增量详解

LeGO-LOAM 激光里程计计算\(t_z, \theta_{roll}/r_x, \theta_{pitch}/r_y\) 我们用点\(\boldsymbol{p_i}\)、\(\boldsymbol{p_i}\)分别代表原始点云、变换后(车子在动引起)点云中的点,目标是求得位姿变换\(\boldsym…

字符设备驱动程序

Linux 驱动程序开发概述①应用程序、库、内核、驱动程序的关系以点亮一个 LED 为例,这 4 层软件的协作关系如下所示:应用程序使用库提供的 open 函数打开代表 LED 的设备文件。库根据 open 函数传入的参数执行“swi”指令,这条指令会引起 CPU…

testing

今天是2026-01-23,是我注册博客园的第一天,让我们写个博客测试一下吧,好了,拜拜!

两个 Docker 容器如何通信?Docker 网络问题完整踩坑与解决指南

NebulaGraph Studio 连接失败?Docker 网络问题完整踩坑与解决指南(小白友好) 一、问题背景 我在本地使用 Docker 部署 NebulaGraph 集群,同时使用 Nebula Graph Studio(Web UI) 进行可视化管理。 Nebula Gr…

芒格的“避免失败“原则在前沿科技投资中的重要性

芒格的"避免失败"原则在前沿科技投资中的重要性关键词:芒格、避免失败原则、前沿科技投资、风险控制、投资策略摘要:本文深入探讨了芒格的“避免失败”原则在前沿科技投资领域的重要性。通过对该原则的背景介绍,阐述其核心概念及与…

关与短链接API,其中稳定无毒的少之又少。

关与短链接API,其中稳定无毒的少之又少。关与短链接,一直想自己开发,开发一个也不是很难,后来想了又想,自己搭建需要购买服务器和域名。 于是就在网上查找关于稳定的API接口,有各种各样的,其中稳定无毒的少之又少…

数据结构——冒泡排序 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

机械制造ToB企业获客困境与数字化解决方案架构深度解析

在当今高度竞争的工业市场中,机械制造类ToB(企业对企业)企业正面临着一场深刻的获客模式变革。传统的销售路径严重依赖线下展会、行业人脉和经销商渠道,这种模式在信息透明度极高的数字化时代,其局限性日益凸显&#x…

Java毕设项目:基于springboot的二次元商品商城系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java计算机毕设之基于SpringBoot + Vue的电子产品手机数码销售系统基于springboot的电子产品电子外设销售系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于springboot的二次元商品商城系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【课程设计/毕业设计】基于springboot的电子产品销售系统基于springboot的电子产品电子外设销售系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【课程设计/毕业设计】基于SpringBoot与Vue的动漫周边商场系统设计与实现基于springboot的二次元商品商城系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

MyEMS开源能源管理系统:赋能生物化学农药及微生物农药制造业绿色低碳转型

各位读者,大家好!我今天要给大家介绍的是MyEMS开源能源管理系统。在当下双碳政策的大环境下,生物化学农药及微生物农药制造业面临着巨大的绿色低碳转型压力。而MyEMS开源能源管理系统正是赋能该行业转型的利器。本次演讲将围绕六个方面展开。…

开源驱动零碳实践:MyEMS 赋能零碳工厂建设的核心路径

在 “双碳” 目标纵深推进的背景下,零碳工厂建设已成为工业领域绿色转型的核心载体。《关于开展零碳工厂建设工作的指导意见》(以下简称《指导意见》)明确提出 “坚持因业施策、创新引领、稳妥有序,推动绿色化与智能化深度融合” …