CppCheck是一个C/C++代码缺陷静态检查工具。不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误。所谓静态代码检查就是使用一个工具检查我们写的代码是否安全和健壮,是否有隐藏的问题。

比如无意间写了这样的代码:

int n = 10;
char* buffer = new char[n];
buffer[n] = 0;
         这完全是符合语法规范的,但是静态代码检查工具会提示此处会溢出。也就是说,它是一个更加严格的编译器。目前 使用比较广泛的C/C++静态代码检查工具有cppcheck 和  pc-lint等。 pc-lint是资格最老,最强力的代码检查工具,但是是收费软件,并且配置起来有一点点麻烦。

CppCheck 是免费的开源软件。使用起来也很方便。

从 http://cppcheck.sourceforge.net/   下载最新的cppcheck。

使用方式:

一、GUI方式:安装完就可以使用里面的cppcheck-gui来检测代码。界面如下:

二、命令行方式:

三、集成到IDE开发环境中使用:

1、VS

参考这里(http://avitebskiy.blogspot.tw/2012/10/poor-mans-visual-studio-cppcheck.html),可以方便的把cppcheck嵌入到vs,然后可以方便的对一个文件进行检查,而且支持错误跳转。

  • click the Add button
  • set the Title, for example Cppcheck
  • set Command to C:\Program Files (x86)\Cppcheck\cppcheck.exe
  • set Arguments to --quiet --verbose --template=vs $(ItemPath)
  • set Initial Directory to $(ItemDir)
  • make sure Use Output window checkbox is enabled
  • click on the Move Up button repeatedly until your entry is at the top of the list, this will make it easier to identify you new command as you can count on it being calledTools.ExternalCommand1
  • click OK.

2、Qt Creator

在QtCreator中点击:tools=>external=>config...=>add 弹出如下对话框:

填入下列参数:

设置完后就可以用cppcheck检查指定目录下的代码文件:tools=>external=>cppcheck 开始检查。

参考文章: http://www.cnblogs.com/lancidie/archive/2013/04/13/3019505.html

以下这篇文章也非常详细:http://blog.csdn.net/akof1314/article/details/7477014

静态代码检查工具 cppcheck 的使用相关推荐

  1. Linux开发者的CI/CD(8)静态代码检查工具cppcheck使用大全

    文章目录 1.简述 2.使用大全 3.生成可视化报告 翻译自官方手册:https://cppcheck.sourceforge.io/manual.pdf 1.简述 cppcheck 是一种 C/C+ ...

  2. QT调试技巧-使用静态代码检测工具Cppcheck检测代码

    #QT调试技巧-使用静态代码检测工具Cppcheck检测代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 环境: Qt Creat ...

  3. 静态代码检查工具简介

    静态代码检查工具简介 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码复审.同行评审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.Java 静态代码分 ...

  4. vscode中对flake8(python静态代码检查工具)和yapf(python代码格式化工具)的设置

    在命令行下安装好flake8和yapf后在vscode中的用户设置(settings.json)中添加以下两行即可: "python.linting.flake8Enabled": ...

  5. c/c++ 静态代码检查工具

    文章目录 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 lint gcc 12 sonarqube 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 所以才有了,这些个静态代码 ...

  6. 静态代码检查工具-PMD

    静态代码检查工具-PMD 分类: 网络安全/ 工具使用/ 文章 提高代码的质量,除了要提高逻辑上的控制以及业务流程的理解外,代码本身也存在提高的空间,例如一些潜在的问题可以很早的就避免.类似于编码规范 ...

  7. Java 静态代码检查工具及其原理

    Intellij IDEA 静态代码检查工具: checkstyle.pmd.findbugs. Alibaba Java Coding Guidelines; 三种工具的对比 工具 目的 检查项 F ...

  8. C/C++静态代码检查工具

    如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C/C++编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成.有很多C/C++ ...

  9. Python 常用静态代码检查工具简介

    对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...

最新文章

  1. 【笔记】与Android选项卡一周
  2. (转)解决在firefox下js调用as失败问题
  3. 会话创建过程-创建Transaction
  4. matlab 小波中心频率,小波频域特性Matlab实现.pdf
  5. 缓存中间件-mac下Memcache 安装
  6. python导入data-Python通过load data导入MySQL数据
  7. Linux内核分析-week 1
  8. CDH报错: 主机的 NTP 服务未同步至任何远程服务器
  9. 翘首以盼Windows 8
  10. 凸包板子试炼(玄学过题)
  11. 关于模板类中,子类无法访问父类成员问题的解决方法
  12. 组建BXP无盘网络 (一)
  13. 服务器上找不到iis,Web服务器打开IIS7管理器看不到站点解决方法
  14. lh服务器注册,登不进去的人请看这里:LH服无法登录问题官方解释
  15. Mac 安装 idb 和 idb_companion
  16. 广联达报错access_广联达软件报错问题汇总和解决方案.doc
  17. 【译】PCL官网教程翻译(20):惯性矩和偏心距描述符 - Moment of inertia and eccentricity based descriptors
  18. 打造高效研发团队 (1) —— 组织架构篇
  19. 如何变更Win10系统电脑的锁屏壁纸?分享经验!怎样选择Win10电脑的锁屏壁纸?
  20. 接收灵敏度的定义公式

热门文章

  1. 已解决SyntaxError:expected ‘:‘
  2. docker 常用命令大全
  3. “收藏本站” 的代码
  4. 机器学习常见损失函数,二元交叉熵,类别交叉熵,MSE,稀疏类别交叉熵
  5. java摇号_java语言实现一个摇号系统,但是可以内部设定中奖名单这个怎么实现?...
  6. RTOS与linux区别
  7. RK3399 Android7.1如何查看屏幕分辨率
  8. 你知道Graylog吗?不知道的话我建议你知道!
  9. Graylog之Grok解析
  10. IntellIdea+SpingMVC简单项目