cppcheck是一款静态代码检查工具,可以检查如内存泄漏等代码错误,使用起来比较简单,即提供GUI界面操作,也可以与VS开发工具结合使用。

1、安装

一般会提供免安装版,安装完成后将cppcheck.exe所在目录添加到环境变量中,这样cmd下可直接使用cppcheck指令来检测代码。

2、cppcheck的检查信息

error:代码中的错误项,包括内存泄漏等; 
warning:为了避免产生bug而提供的编程改进意见; 
style:编码风格,提示你哪些函数没有使用、哪些为多余代码等; 
portability:提示跨平台时容易出现的问题; 
performance:该部分代码可以优化; 
information:其他信息,可以忽略;

3、控制台下使用

打开cmd,输入cppcheck回车后会列出其支持的参数,选择参数进行代码检查:

cppcheck --enable=all  <dir> 
  • 1

该指令会列出目录dir中的所有文件的检查信息,若要导出检查信息,参考如下指令:

cppcheck --enable=all <dir> > D:\detect.txt;
  • 1

–enable= 有许多参数选项,详细可参考cppckeck参数说明,依据cppcheck帮助说明建议使用all,这在扫描整个工程的全部文件时比较有用,因为其可以检查没有使用到的函数等。

4、单独使用

cppcheck提供操作界面,如下图,点击左侧C++按键,选择目录,确定后就可以自动检测文件夹内的所有文件,默认情况下会给你列出cppcheck所支持的所有检测信息内容,共计六项内容,点击图中右侧选项可以选择要显示的内容。

5、与VS结合使用

将cppcheck嵌入到VS中作为一个外部工具,这样就可以在程序开发阶段直接进行静态代码错误检查。 
配置: 
点击VS的tools,选择外部工具选项,添加工具, 
标题:cppcheck在VS工具下的名称; 
命令:选择cppcheck.exe,包括绝对路径; 
参数:依据cppcheck的参数进行选择,可以使用以下几种 
–quiet –platform=win64 (ProjectDir);–enable=all(ProjectDir);–enable=all(ProjectDir); 
(ProjectDir);其中第一个仅显示检查到的错误信息,其余两个检查所有信息;初始目录:(ProjectDir);其中第一个仅显示检查到的错误信息,其余两个检查所有信息;初始目录:(ItemDir)或者$(ProjectDir) 
ItemDir是指一个单独的文件,如果参数中选择ItemDir,则只会检查当前选中的文件; 

 
勾选退出时关闭和使用输出窗口后点击确定,就可以将cppcheck工具添加到vs中。

使用: 
点击工具,查找到cppcheck选项,点击后就可以在output窗口输出检查信息,可以得到错误所在文件和行数。 

c++代码检测工具的更多相关文章

  1. StyleCop(C#代码检测工具)

    StyleCop(C#代码检测工具)   一.StyleCop是微软的一个开源的静态代码分析工具,检查c#代码一致性和编码风格. 二.下载地址   http://stylecop.codeplex.c ...

  2. python 代码检测工具

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

  3. Jenkins整合SonarQube代码检测工具

    借鉴博客:https://blog.csdn.net/kefengwang/article/details/54377055 上面这博客写得挺详细的,挺不错.它这个博客没有提供下载的教程,这个博客提供 ...

  4. eslint 代码检测工具

    jshint 检测工具不够灵活下,道格拉斯(何许人也?json创造者,javascript重要任务,犀牛那本书就是他写的). 文档地址: 中文地址 English 安装 利用npm全局安装eslint ...

  5. 恶意代码检测工具 -- Mathematics Malware Detected Tools

    Mathematics Malware Detected Tools 重要:由于缺少测试数据,部分结论可能不正确.更多更准确的结论,还需要进行大量实验. 概述 mmdt(Mathematics Mal ...

  6. 阿里java代码检测工具p3c

    阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴 ...

  7. 基于git diff进行的eslint代码检测

    缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...

  8. Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果

    为了规范代码,我们一般会集成静态代码检测工具,比如PMD.FindBugs.Checkstyle,那么Jenkins如何集成这些检查工具,并把检查结果放到构建邮件里呢? 今天做了调研和实现,过程如下 ...

  9. 2.2、Android Studio通过注解提升代码检测

    使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用.例如,Android的资源ID,使用一个int类型来表示字符.图像.颜色或者其他资源类型所以代码检测工具不 ...

随机推荐

  1. Python之关于工具包简介

    1.Pandas Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的 ...

  2. Atitit 支出分类表 会计科目(1)资产(2)负债(3)资本(4)收益(5)费用(成本) 资产分类表 attilax总结

    Atitit 支出分类表  会计科目(1)资产(2)负债(3)资本(4)收益(5)费用(成本)  资产分类表 attilax总结 会计科目对一般不懂会计的管理人员,常会有莫测高深的感觉,因此不仅不愿去 ...

  3. [转]Linux下网络常用命令和工具

    转自:http://int32bit.me/2016/05/04/Linux%E5%B8%B8%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B7%A5%E5%85%B7%E6%80%B ...

  4. JVM:Java常见内存溢出异常分析

    转载自:http://www.importnew.com/14604.html Java虚拟机规范规定JVM的内存分为了好几块,比如堆,栈,程序计数器,方法区等,而Hotspot jvm的实现中,将堆 ...

  5. chrome 下 input[file] 元素cursor设置pointer不生效的解决

    https://jingyan.baidu.com/article/48b558e32fabb67f38c09a81.html 环境是chrome浏览器,今天发现为html网页中的input [fil ...

  6. c++ 条件变量

    .条件变量创建 静态创建:pthread_cond_t cond=PTHREAD_COND_INITIALIZER; 动态创建:pthread_cond _t cond; pthread_cond_i ...

  7. JAVA并发理论与实践

    JDK5.0中更灵活.更具可伸缩性的锁定机制 流行的原子 非阻塞算法简介

  8. window/linux composer安装/卸载

    packagist库:https://packagist.org/ window  安装 参考地址:https://www.kancloud.cn/thinkphp/composer/35668 1. ...

  9. Linux环境设置IP及关闭防火墙

    确认当前网络配置: [root@localhost ~]# nmcli -p dev ===================== Status of devices ================= ...

  10. mysql 游标 demo

    一.MySQL游标的概念 1.游标介绍 MySQL的游标(cursor)是一个重要的概念,通过查找资料与自己的理解,主要得出以下几点关于自己的理解. 有数据缓冲的思想:游标的设计是一种数据缓冲区的思想 ...