1. cppcheck工具说明:

cppcheck工具是一个C/C++代码缺陷静态检查工具。它不仅可以检查代码中的语法错误,还可以检查出编译器检查不出来的缺陷,从而辅助提升代码质量。

2. Linux下cppcheck工具安装:Linux终端输入:sudo apt-get install cppcheck

3. cppcheck工具使用:

(1) 如对文件进行代码检查,只需要如下操作即可:

cppcheck [filename]

(2) 如对目录中所有代码进行检查,只需要如下操作即可:

cppcheck [path]

使用示例如下所示:

对C源文件进行检查如下:

对目录中所有C源文件进行检查如下:

4. cppcheck工具检查代码问题包括如下:

  • 野指针。
  • 整型变量溢出。
  • 无效的移位操作数。
  • 无效的转换。
  • 无效使用STL库。
  • 内存泄漏检测。
  • 代码格式错误以及性能原因检查。

5. 默认情况下只显示错误信息,可以通过“--enable”命令来启动更多检查,可用命令如下:

--enable=error         #发现bug时提示级别

--enable=style         #编码格式问题,未使用的函数、多余的代码等--enable=portability #打开移植性警告,在其它平台上可能出现兼容性问题

--enable=warning       #打开警告消息

--enable=performance   #打开性能消息

--enable=information   #打开信息消息

--enable=all           #打开所有消息

使用示例如下所示:

# enable warning messages

cppcheck --enable=warning file.c

# enable performance messages

cppcheck --enable=performance file.c

# enable information messages

cppcheck --enable=information file.c

# For historical reasons, --enable=style enables warning, performance,# portability and style messages. These are all reported as "style" when# using the old xml format.

cppcheck --enable=style file.c

# enable warning and information messages

cppcheck --enable=warning,information file.c

# enable unusedFunction checking. This is not enabled by --enable=style# because it doesn't work well on libraries.

cppcheck --enable=unusedFunction file.c

# enable all messages

cppcheck --enable=all

5. cppcheck可以指定编译器(--std=<id>) 

指定编译器版本,参数id:c89、c99、c11、c++03、c++11、c++14、c++17、c++20。例如:

cppcheck --std=c99 ./path

6. cppcheck还可以设置输出格式,如下所示:

cppcheck --template=vs path (Visual Studio兼容模式)
cppcheck --template=gcc path (Gcc兼容模式)
cppcheck --template={"{file},{line},{severity},{id},{message}"} (自定义模式)

cppcheck也可设置规则忽略一些目录或错误,以及根据配置文件检查函数参数,格式化输出等功能。可参考官方文档。

Linux下cppcheck静态检测工具相关推荐

  1. 【调试】Linux下超强内存检测工具Valgrind

    [调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ...

  2. linux下的硬盘检测工具 Smartmontools

    1.1 什么是Smartmontools? Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting ...

  3. linux的rootkit工具包,Linux下rootkit后门检测工具chkrootkit

    一.安装编译工具包 yum install gcc gcc-c++ make yum install glibc-static 二.安装chkrootkit cd /usr/local/src/ wg ...

  4. Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  5. Linux查看c语言组件进程,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  6. linux系统io查看计算,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  7. 查看linux进程的设备io,Linux下查看进程IO工具iopp

    Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况.如果要细看具体那一个程序点用的IO较高,可以使用iotop .不过iotop对内核版本和Python版本有要求 ...

  8. linux下检测硬盘,【转载】linux下硬盘监控诊断工具SmartTools

    对于windwos下raid卡具备告警功能,当硬盘故障.raid卡告警时,可以发邮件给管理员.IBM.HP.Dell都支持.但在linux下,就没有找到相关的好工具了,今天到陈沙克的博客上到一篇关于l ...

  9. Windows下 C++代码检测工具

    最近在查阅一些windows系统下的C++代码及性能检测工具, 按照检测类别分别静态检测和动态检测. 静态检测: 在程序没有被实际执行的情况下执行的计算机软件分析,大部分是对源代码的分析和检测. 动态 ...

最新文章

  1. java容易混淆的知识点
  2. linux perl 安装目录,肿么查看linux是否安装了perl
  3. different styles of button in footer area
  4. 值不值得入手_iPhone11现在还值不值得入手?真实用户说出心里话
  5. AMD、CMD和Common规范
  6. tp读取配置文件机制
  7. GWR学习笔记(一)
  8. 国内博客搬家工具大全
  9. 复制文字到剪贴板的几种方法
  10. 【Robo 3T】MongoDB可视化工具-- Robo 3T使用教程
  11. 人类自然语音频率范围
  12. VSCode 插件Code Runner 中文提示乱码
  13. opencv曝光算法_【OPENCV】高反差保留算法
  14. anaconda 重新安装
  15. php引用复制,php引用和拷贝的区别
  16. 11个销售心理学方法,帮你搞定客户!
  17. R语言实战应用精讲50篇(十二)-正态分布与方差齐性的检验方法与SPSS操作
  18. JVM中引用计数法与可达性分析
  19. 湛江C语言培训,湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好...
  20. 族蚂和凡科两大自助建站平台性价比哪家强?

热门文章

  1. Web服务下载zip文件
  2. 电脑声音太小,安装音量提升插件
  3. jQuery 基本语法学习
  4. 分享几个好看的Bootstrap后台管理响应式模板
  5. 网上购车平台其实也可以这样上私户
  6. 计算机专业未来规划作文英文,我的未来计划英语作文范文(通用10篇)
  7. c语言 快速筛质数,快速筛素数(埃式筛+线性筛+Miller_Rabin算法)
  8. Excel数字格式转换方法
  9. CSS 发明者 Håkon Wium Lie 访谈(三)
  10. 手机上的便签怎么用 手把手教你使用便签工具