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. CoreGraphics之CGContextSaveGState与UIGraphicsPushContext

    转至:https://www.jianshu.com/p/be38212c0f79 CoreGraphics与UIKit 这边从iOS绘图教程 提取一些重要的内容. Core Graphics Fra ...

  2. 安装APK失败,错误代码:INSTALL_FAILED_INVALID_APK 解决方案

    错误代码:installation failed with message failed to finalize session:INSTALL_FAILED_INVALID_APK 解决方法如下:

  3. 关于python单例的常用几种实现方法

    这两天在看自己之前写的代码,所以正好把用过的东西整理一下,单例模式,在日常的代码工作中也是经常被用到, 所以这里把之前用过的不同方式实现的单例方式整理一下 装饰器的方式 这种方式也是工作中经常用的一种 ...

  4. Fluent动网格【13】:网格光顺总结及实例

    光顺(Smoothing)方法是最基本的网格节点更新方法.Fluent提供了三种光顺方法: Spring弹簧光顺 Diffusion扩散光顺 Linearly Elastic Solid光顺 三种方法 ...

  5. 【原创 Hadoop&Spark 动手实践 12】Spark MLLib 基础、应用与信用卡欺诈检测系统动手实践

    [原创 Hadoop&Spark 动手实践 12]Spark MLLib 基础.应用与信用卡欺诈检测系统动手实践

  6. Openfire 单人聊天和多人聊天(发送消息、接收消息)

    Openfire 单人聊天和多人聊天(发送消息.接收消息) 一.单人聊天 1)发送消息: 首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFrie ...

  7. 微信公众号平台上传文件返回错误代码:40005 invalid file type

    错误原因:文件类型(后缀名)不符合要求. 具体到笔者的情况是:在将 MultipartFile 类型转换为File 类型时,方法 File.createTempFile("filename& ...

  8. Python2.x与3.x版本区别

    Python2.x与3.x版本区别 1.print 函数 print语句没有了,取而代之的是print()函数. Python 2.6与Python 2.7部分地支持这种形式的print语法.在Pyt ...

  9. 加载所有jar包下指定文件

    加载所有jar包下指定文件: 如spring中加载 META-INF/spring.handlers 加载 org.springframework.core.io.support.Properties ...

  10. 【转】WPF自定义控件与样式(10)-进度控件ProcessBar自定义样

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要内容: ProcessBar自定义标准样式: ProcessBar自定义环形进 ...