摘要

本文介绍如何在Visual Studio(VS)下使用CppCheck检查代码,包括安装和使用两个部分。与网上通过vs外部工具使用CppCheck的方法不同,本文介绍了CppCheck的vs插件,配置更方便,使用体验更好。


介绍

Cppcheck是一个C/C++代码的静态分析工具。与C++编译器和其他许多分析工具不同,Cppcheck不检测代码中的语法错误,只检测那些编译器通常无法检测到的bug类型,目的是只检测代码中真正的错误。下面是Cppcheck的一些检查项:

  • 检查边界溢出
  • 检查内存泄漏
  • 检查可能的空指针间接引用
  • 检查未初始化的变量
  • 检查无效的STL使用
  • 检查异常安全
  • 警告如果过时的或者不安全的函数使用
  • 警告未使用的或者冗余的代码
  • 检测各种潜在bugs的可疑代码等
    所有检查项可以查看这里:https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/

CppCheck使用方法:

  1. 命令行调用
  2. 可视化界面使用
  3. 作为外部工具使用。若开发工具支持外部工具扩展,可手动配置为外部工具使用
  4. 作为插件使用。若开发工具包含CppCheck插件,可作为插件使用

本文使用第四重方法,通过插件使用CppCheck。 CppCheck在许多流行的开发工具上已经有对应插件,例如:Visual Studio、Code::Blocks、CLion 、QtCreator 、KDevelop 、Git (Linux)等,完整插件支持看这里:http://cppcheck.net/

安装

  1. 安装CppCheck
    在CppCheck官网下载并安装, 本文下载的是cppcheck-1.87-x64-Setup.msi。
  2. 接着安装vs插件
    在cppcheck-vs-addin下载并安装vs插件,本文下载的是CppcheckPlugin_1.3.6.vsix。
    注意: vs的CppCheck插件不包含CppCheck本身,因此需要先安装CppCheck再安装CppCheck的vs插件。详情见cppcheck-vs-addin的说明:

NOTE: The add-in does not deploy Cppcheck executable. Please, go to Cppcheck website, download the installer and install it before first use of the add-in. The add-in then may prompt for location of the cppcheck.exe.

  1. 安装完毕
    重启vs,安装完毕,接下来看如何使用。

使用

使用一段测试代码,测试一下CppCheck效果。

使用的测试代码:

int main()
{int array_temp[100];int a = array_temp[200];
}

测试结果:

  1. vs编译结果(编译通过,未提示错误):
  2. CppCheck结果:
    点击 工具 选择 Check current project with cppcheck

    检查出了编译器未检查出的访问越界错误:

相关/参考链接

官网: http://cppcheck.net/
vs插件地址: https://github.com/VioletGiraffe/cppcheck-vs-addin
C++静态代码检查工具cppcheck在vs下安装与测试步骤: https://blog.csdn.net/qq_16783973/article/details/54907896
Poor Man’s Visual Studio Cppcheck Integration: http://avitebskiy.blogspot.com/2012/10/poor-mans-visual-studio-cppcheck.html

CppCheck C++静态代码检查工具在Visual Studio(VS)下的配置和使用相关推荐

  1. 静态代码检查工具 cppcheck 的使用

    CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...

  2. cppcheck java_linux-cppcheck静态代码检查.md

    简介 cppcheck是一个C/C++的静态代码检查工具.它不仅可以检查代码中的语法错误,还可以检查出编译器检查不出来的缺陷,从而辅助提升代码质量. cppcheck能够发现很多错误,但不能发现所有的 ...

  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 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...

  10. Python 进阶 — Pylint 静态代码检查工具

    目录 文章目录 目录 Pylint 错误类型 安装 使用 Pylint 与 Flake8 一般,Pylint 也是一款 Python 的静态代码检查工具,它会分析 Python 代码中的错误,查找不符 ...

最新文章

  1. Apple Swift编程语言入门教程
  2. snpeff注释变异(variants)
  3. Linux常用命令——fsck
  4. css中float详解,CSS浮动属性Float详解?史上最全Float详解
  5. iframe 覆盖父页面_一次iframe子页面与父页面的通信
  6. 在 Linux 下打包命令 tar 和压缩命令 7z 的配合使用示例
  7. 校园招聘最重要的有2点 第一个是不要抱死一家公司
  8. 二叉搜索树的思想,以及增删查改的实现
  9. Web Service概念
  10. vs需要迁移_【迁移指南】从Web开发者到Flutter开发者
  11. 【转】ETL介绍与ETL工具比较
  12. 202007219 Oracle建表语句
  13. android 打开pdf文件
  14. vivos9e防抖功能设置教程
  15. 前端vue中ts无法识别引入的vue文件,提示找不到xxx.vue模块的解决【引入新建页面或者通过router引入时报错】
  16. 微信公众号通过第三方平台完成授权
  17. 华芯通服务器芯片将于今年年底前上市
  18. 随机取一个或几个数字 random
  19. mysql中的locate,MySQL LOCATE()用法及代码示例
  20. 学生成绩管理系统-设计文档

热门文章

  1. php.ini gd_php开启GD库实现方法
  2. linux车机carplay模块,卸甲科技UI2.0版本Linux车机发布
  3. 汉字GB2312编码字符集
  4. 7分钟学会匿名管道pipe()的使用(内附完整代码测试)
  5. MFC Date Time Picker的使用
  6. 监狱视频探视(会见)系统
  7. c语言编程数的平方,C语言编程实例:由两个平方三位数获得三个平方二位数
  8. lede虚拟服务器,在虚拟机中安装 LEDE 软路由
  9. (已解决)利用LiveReload插件实现vscode和谷歌浏览器实时刷新
  10. 论福禄克DTX-1800如何测试CAT7网线?