CppCheck

CppCheck

一. cppcheck介绍

cppcheck 是一个静态代码检查工具,支持c, c++ 代码;作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。 执行的检查包括:

  1. 自动变量检查
  2. 数组的边界检查
  3. class类检查
  4. 过期的函数,废弃函数调用检查
  5. 异常内存使用,释放检查
  6. 内存泄漏检查,主要是通过内存引用指针
  7. 操作系统资源释放检查,中断,文件描述符等
  8. 异常STL 函数使用检查
  9. 代码格式错误,以及性能因素检查

更多介绍参考:https://cppcheck.sourceforge.io/

二. 安装cppcheck

linux环境下的cppcheck的下载地址如下:http://sourceforge.net/projects/cppcheck/files/cppcheck/1.49/cppcheck-1.49.tar.gz/download,当前最新的版本是1.49。

解压文件:tar xvf cppcheck-1.49.tar.gz

编译文件:cd cppcheck-1.49 & make

Debian:
sudo apt install cppcheck

三. cppcheck使用

运行cppcheck -h可以得到参数的提示,这里直介绍我用到的参数

cppcheck -j 3 --enable=all search/*

-j参数指定的是检查线程的个数,如果需要检查代码的量很大,-j参数还是很有用的

--enable指定当前指定的检查级别,可选的参数有all,style,information等

Cppcheck 也作为插件集成到其他的IDE中,比如:

  • Buildbot - integrated
  • CLion - Cppcheck plugin
  • Code::Blocks - integrated
  • CodeDX (software assurance tool) - integrated
  • CodeLite - integrated
  • CppDepend 5 - integrated
  • Eclipse - Cppcheclipse
  • gedit - gedit plugin
  • github - Codacy and SoftaCheck
  • Hudson - Cppcheck Plugin
  • Jenkins - Cppcheck Plugin
  • KDevelop - integrated since v5.1
  • Mercurial (Linux) - pre-commit hook - Check for new errors on commit (requires interactive terminal)
  • QtCreator - Qt Project Tool (qpt)
  • Tortoise SVN - Adding a pre-commit hook script
  • Visual Studio - Visual Studio plugin

如何跳过第三方头文件的目录?

第一种选择是仅提供路径和文件 你想检查。

cppcheck src/a src/b

然后检查src / a和src / b下的所有文件。

第二个选项是使用-i,用它指定要忽略的文件/路径。使用此命令,不会检查src / c中的文件:

cppcheck -isrc/c src

此选项目前不适用于–project选项,仅在提供输入时有效 。目录

忽略多个目录多次提供-i。以下命令忽略 src / b和src / c目录。

cppcheck -isrc/b -isrc/c

reference

Cppcheck manual

cppcheck - Man Page

你可能感兴趣的:(Reference,学习)