代码检查工具CppCheck
概要
CppCheck是C\C++的静态代码检查工具,可以发现代码的静态缺陷,发现代码的逻辑错误,不过他并不会检查代码的语法错误,他得位置是编译器的一个补充。该工具是跨平台的工具,Windows提供了GUI和命令行工具,而Linux也提供了该命令行工具。
CppCheck
cppcheck 是一个静态代码检查工具,支持c, c++ 代码;作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。 执行的检查包括:
1. 自动变量检查
2. 数组的边界检查
3. class类检查
4. 过期的函数,废弃函数调用检查
5. 异常内存使用,释放检查
6. 内存泄漏检查,主要是通过内存引用指针
7. 操作系统资源释放检查,中断,文件描述符等
8. 异常STL 函数使用检查
9. 代码格式错误,以及性能因素检查
安装及其使用(Mac)
sudo brew install cppcheck
使用一般用下面的命令:
cppcheck -j 3 --enable=all src
-j 表示工作线程个数,一般工程比较大的时候好用,src是源代码目录
运行结果示例
31/31 files checked 100% done
Checking usage of global functions..
[chromium_src/chrome/browser/ui/views/color_chooser_win.cc:71]: (style) The function 'End' is never used.
[chromium_src/chrome/browser/printing/print_job_worker.cc:70]: (style) The function 'GetAppLocale' is never used.
[chromium_src/chrome/browser/printing/print_job_worker.cc:60]: (style) The function 'GetParentView' is never used.
[chromium_src/chrome/renderer/printing/print_web_view_helper.cc:414]: (style) The function 'IsLoadingSelection' is never used.
[chromium_src/chrome/browser/ui/views/color_chooser_win.cc:28]: (style) The function 'SetSelectedColor' is never used.
[chromium_src/chrome/browser/ui/views/color_chooser_aura.cc:63]: (style) The function 'ShowColorChooser' is never used.
[chromium_src/chrome/renderer/printing/print_web_view_helper.cc:559]: (style) The function 'allowsBrokenNullLayerTreeView' is never used.
[chromium_src/chrome/renderer/printing/print_web_view_helper.cc:573]: (style) The function 'createChildFrame' is never used.
[chromium_src/chrome/renderer/printing/print_web_view_helper.cc:563]: (style) The function 'didStopLoading' is never used.
[chromium_src/chrome/renderer/printing/print_web_view_helper.cc:581]: (style) The function 'frameDetached' is never used.
(information) Cppcheck cannot find all the include files (use --check-config for details)
因为该代码是直接从GitHub弄个过来的,所以问题不是很多,不过运行结果也发现了一些问题,包括
- 未使用的函数(妥妥滴可以用来删减不必要得代码啊)
- (好吧...没其他问题发现了)
代码检查工具CppCheck相关推荐
- 静态代码检查工具 cppcheck 的使用
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...
- Linux开发者的CI/CD(8)静态代码检查工具cppcheck使用大全
文章目录 1.简述 2.使用大全 3.生成可视化报告 翻译自官方手册:https://cppcheck.sourceforge.io/manual.pdf 1.简述 cppcheck 是一种 C/C+ ...
- cppcheck代码检查工具安装与使用技巧
cppcheck代码检查工具安装与使用技巧 Cppcheck 是一种 C/C++ 代码缺陷静态检查工具.不同于 C/C++ 编译器及很多其它分析工具,它不检查代码中的语法错误. Cppcheck 可以 ...
- QT调试技巧-使用静态代码检测工具Cppcheck检测代码
#QT调试技巧-使用静态代码检测工具Cppcheck检测代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 环境: Qt Creat ...
- JavaScript代码检查工具——JSLintMate
JSLintMate是一款快速.简洁.易于使用JSLint(Douglas Crockford强大的JS代码检查工具)或者JSHint来检查JavaScript代码的扩展工具. JSLintMate是 ...
- CSS代码检查工具stylelint
前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...
- 静态代码检查工具简介
静态代码检查工具简介 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码复审.同行评审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.Java 静态代码分 ...
- 代码检查工具Sonar
sonar介绍 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等) ...
- 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...
- vscode中对flake8(python静态代码检查工具)和yapf(python代码格式化工具)的设置
在命令行下安装好flake8和yapf后在vscode中的用户设置(settings.json)中添加以下两行即可: "python.linting.flake8Enabled": ...
最新文章
- map和foreach的区别和应用场景_支付宝小程序和微信小程序,两者有何区别?
- 头戴式AR/VR 光学标定
- javaweb_JSP 中文字符处理程序
- 加载spring上下文的多种方式总结
- ubuntu下使用apt安装mysql_Ubuntu下通过apt包管理安装mysql
- SAP Analytics Cloud和Cloud for Customer之间的Single Sign on配置
- Mybatis(笔记)
- 2016科学数据大会临时通知
- dispatch的action带参数
- Oracle 11.2.0.3 Patchset
- SpringBoot之自定义验证码
- 安装Fortran语言编程环境全流程记录
- python连接sap接口_python 连接SAP的方法
- 快速清理C盘的四个方法
- 直播功能引入微信小程序
- unity-shader-头发渲染-各向异性
- oracle 隐式转换
- caj格式转换成pdf免费的有吗
- 【Scrum模式语言3】完成的定义
- 简单地人物介绍页面设计
热门文章
- SCHNOKA施努卡:扁线电机定子生产过程中线圈插入
- ES RestClient查询文档
- 看一看Facebook工程师是怎么评价《第一行代码》的
- 微博黄V怎么认证:如何快速获得微博认证?
- 我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:官方规范下载与参考书目
- 【交换安全】DAI - Dynamic ARP Inspection 详解/arp欺骗/gratuitous arp
- 如何在TransCAD中制作美观的地图
- 虚拟大师怎么修改手机_[Android] 新版手机虚拟大师VMOS Pro超精简无广告2秒启动...
- xshell 4无法保存新建session
- Hello, CSDN