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

1、安装

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

2、cppcheck的检查信息

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

3、控制台下使用

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

cppcheck --enable=all  <dir> 

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

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

–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窗口输出检查信息,可以得到错误所在文件和行数。

windows下cppcheck的使用相关推荐

  1. Windows下 Cppcheck 的使用教程

    1.Cppcheck是什么? CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检 ...

  2. gRPC在Windows下开发环境搭建(MinGW)

    在Windows下通过MinGW编译gRPC, 并对官方提供的Demo进行编译和测试,本文章记录了从gRPC开发环境搭建到编译,最后测试样例程序全过程,测试结果说明配置过程是正确的.同时本文章可以给广 ...

  3. php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法

    本文实例讲述了PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法.分享给大家供大家参考,具体如下: 1.php mail()函数在windows不能用,需要安装sen ...

  4. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  5. Windows下超详细安装Anaconda3以及jupyter notebook

    Anaconda是一个软件包管理器,一个环境管理器以及一个Python发行版,其中包含许多开源软件包的集合(numpy,scikit-learn,scipy,pandas等).如果在安装Anacond ...

  6. 在windows下配置pthread多线程

    Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的win ...

  7. docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考

    我写的文章永远都是那么的又臭又长又菜. 前言 上次写了一篇有关 SSRF 打 Redis 主从的文章,居然被人喷了!!!说我根本就没有复现过张嘴就来???我没有理会,然后又有朋友在群问,Redis 在 ...

  8. windows下rpc框架thrift的环境配置

    windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...

  9. windows下 Source Monitor代码度量工具的使用

    windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 Source ...

最新文章

  1. linux虚拟用户的配置
  2. 基于uml的系统分析的网上商城_UML建模工具Enterprise Architect最新版有哪些新功能呢?立即查看...
  3. 如何解决JAVA环境变量配好后,重启电脑又失效的问题
  4. 有一种感情,叫“发小”
  5. C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
  6. STM32CubeIDE自平衡小车教程4.配置串口并实现字符的输出
  7. jar包运行utf-8格式
  8. 高等数学第七版同济大学课后习题讲解下册 pdf(免费)
  9. JAVAFX输入法的实现
  10. HTML5 webSQL动态查询应用截图
  11. 统计一个字符串中大写字母,小写字母,以及数字的个数。
  12. 写一个计算器(C语言版本),可以求出:整数的加,减,乘,除四则运算
  13. 阻塞双端消息队列 BlockingDeque(先进先出的原则管理)
  14. Unity_触摸屏_实现360序列帧
  15. 【人才盘点九宫格】你还不来学一学人才九宫格,知道领导在做人才梯度结构盘点时把你划分为属于哪一类人才吗?
  16. Python 之 = [:] copy deepcopy
  17. 【STM32】定时器TIM触发ADC采样,DMA搬运到内存(超详细讲解)
  18. PaddleOCR 打包出现问题及解决方法
  19. ubuntu安装翻译工具——星际译王
  20. 《炬丰科技-半导体工艺》多晶硅片表面过渡金属污染的影响

热门文章

  1. 华为手机如何调时间显示_华为手机照相有时间日期显示怎样设置
  2. Linux九阴真经之大伏魔拳残卷3(LVS)
  3. python求梯形面积_pythonocc 求一条直线与一个梯形的交点的横坐标
  4. Nginx限流和黑名单配置
  5. android悬浮窗组件,Android 悬浮窗,悬浮view功能实现
  6. 九校联考-长沙市一中NOIP模拟Day1T1 矩阵游戏(game)
  7. 为什么培训机构出身的程序员,不敢告诉任何人?
  8. UPC——2020年春混合个人训练第二十四场(DEFG)
  9. 【Vue源码解读】万行源码详细解读
  10. IntelXeon Gold 6240和IntelXeon Gold 5218有什么区别? 服务器CPU选型