CppCheck C++静态代码检查工具在Visual Studio(VS)下的配置和使用
摘要
本文介绍如何在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使用方法:
- 命令行调用
- 可视化界面使用
- 作为外部工具使用。若开发工具支持外部工具扩展,可手动配置为外部工具使用
- 作为插件使用。若开发工具包含CppCheck插件,可作为插件使用
本文使用第四重方法,通过插件使用CppCheck。 CppCheck在许多流行的开发工具上已经有对应插件,例如:Visual Studio、Code::Blocks、CLion 、QtCreator 、KDevelop 、Git (Linux)等,完整插件支持看这里:http://cppcheck.net/
安装
- 安装CppCheck
在CppCheck官网下载并安装, 本文下载的是cppcheck-1.87-x64-Setup.msi。 - 接着安装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.
- 安装完毕
重启vs,安装完毕,接下来看如何使用。
使用
使用一段测试代码,测试一下CppCheck效果。
使用的测试代码:
int main()
{int array_temp[100];int a = array_temp[200];
}
测试结果:
- vs编译结果(编译通过,未提示错误):
- 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)下的配置和使用相关推荐
- 静态代码检查工具 cppcheck 的使用
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...
- cppcheck java_linux-cppcheck静态代码检查.md
简介 cppcheck是一个C/C++的静态代码检查工具.它不仅可以检查代码中的语法错误,还可以检查出编译器检查不出来的缺陷,从而辅助提升代码质量. cppcheck能够发现很多错误,但不能发现所有的 ...
- 静态代码检查工具简介
静态代码检查工具简介 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码复审.同行评审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.Java 静态代码分 ...
- vscode中对flake8(python静态代码检查工具)和yapf(python代码格式化工具)的设置
在命令行下安装好flake8和yapf后在vscode中的用户设置(settings.json)中添加以下两行即可: "python.linting.flake8Enabled": ...
- c/c++ 静态代码检查工具
文章目录 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 lint gcc 12 sonarqube 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 所以才有了,这些个静态代码 ...
- 静态代码检查工具-PMD
静态代码检查工具-PMD 分类: 网络安全/ 工具使用/ 文章 提高代码的质量,除了要提高逻辑上的控制以及业务流程的理解外,代码本身也存在提高的空间,例如一些潜在的问题可以很早的就避免.类似于编码规范 ...
- Java 静态代码检查工具及其原理
Intellij IDEA 静态代码检查工具: checkstyle.pmd.findbugs. Alibaba Java Coding Guidelines; 三种工具的对比 工具 目的 检查项 F ...
- C/C++静态代码检查工具
如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C/C++编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成.有很多C/C++ ...
- Python 常用静态代码检查工具简介
对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...
- Python 进阶 — Pylint 静态代码检查工具
目录 文章目录 目录 Pylint 错误类型 安装 使用 Pylint 与 Flake8 一般,Pylint 也是一款 Python 的静态代码检查工具,它会分析 Python 代码中的错误,查找不符 ...
最新文章
- Apple Swift编程语言入门教程
- snpeff注释变异(variants)
- Linux常用命令——fsck
- css中float详解,CSS浮动属性Float详解?史上最全Float详解
- iframe 覆盖父页面_一次iframe子页面与父页面的通信
- 在 Linux 下打包命令 tar 和压缩命令 7z 的配合使用示例
- 校园招聘最重要的有2点 第一个是不要抱死一家公司
- 二叉搜索树的思想,以及增删查改的实现
- Web Service概念
- vs需要迁移_【迁移指南】从Web开发者到Flutter开发者
- 【转】ETL介绍与ETL工具比较
- 202007219 Oracle建表语句
- android 打开pdf文件
- vivos9e防抖功能设置教程
- 前端vue中ts无法识别引入的vue文件,提示找不到xxx.vue模块的解决【引入新建页面或者通过router引入时报错】
- 微信公众号通过第三方平台完成授权
- 华芯通服务器芯片将于今年年底前上市
- 随机取一个或几个数字 random
- mysql中的locate,MySQL LOCATE()用法及代码示例
- 学生成绩管理系统-设计文档
热门文章
- php.ini gd_php开启GD库实现方法
- linux车机carplay模块,卸甲科技UI2.0版本Linux车机发布
- 汉字GB2312编码字符集
- 7分钟学会匿名管道pipe()的使用(内附完整代码测试)
- MFC Date Time Picker的使用
- 监狱视频探视(会见)系统
- c语言编程数的平方,C语言编程实例:由两个平方三位数获得三个平方二位数
- lede虚拟服务器,在虚拟机中安装 LEDE 软路由
- (已解决)利用LiveReload插件实现vscode和谷歌浏览器实时刷新
- 论福禄克DTX-1800如何测试CAT7网线?