代码静态检测工具cppcheck简介
cppcheck是一款小型的代码缺陷静态检查工具,支持C、C++代码,作为编译器的一种补充检查方式,不同于C/C++编译器等其他众多分析工具,它不检测代码的语法错误,只检查编译器检查不出来的BUG类型。cppcheck对源代码执行严格的逻辑检查,因此cppcheck很少在报告错误方面出错,用户可以根据检查结果和自身需求对源代码进行相应修改。
cppcheck使用方法分为3种:
GUI方式,cppcheck安装完成后可以直接打开软件来检测代码;
命令行方式:可以在CMD命令行下来进行代码检测;
集成到IDE开发环境中使用(QT Creator)。
cppcheck执行的检查:
- 自动变量检查
- 数组的边界检查
- class类检查
- 过期的函数、废弃函数调用检查
- 异常内存使用、释放检查
- 内存泄漏检查,主要通过内存引用指针
- 操作系统资源释放检查
- 异常STL函数使用检查
- 代码格式错误,以及性能因素检查
文件下载地址:http://cppcheck.sourceforge.net/
检查规则:
--enable=all 启用所有消息
--enable=information 启用信息消息
--enable=performance 启用性能消息
--enable=warning 启用警告消息
检查结果:
error:出现错误
warning:为了预防BUG防御性编程建议信息
style:编码格式问题(没有使用的函数、多余的代码等)
portablity:移植性警告,该部分如果移植到其他平台上,可能出现兼容性问题
performance:建议优化该部分代码性能
information:一些信息
QT Creator集成cppcheck:
QT Creator-->工具-->选项-->环境-->外部环境-->添加工具
代码静态检测工具cppcheck简介相关推荐
- 一些代码静态检查工具的简介
1.KLOCWORK: 适用语言:C, C++, JAVA 是否开源:否, 是否需要编译:是 作用:代码静态检查工具.用于高效检测软件缺陷和安全隐患,提供优秀的静态源代码分析解决方案.软件号称是业界领 ...
- Cppcheck--C/C++代码静态检测工具
官网: http://cppcheck.net/ cppcheck 是一个静态代码检查工具,支持c, c++ 代码:作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查. 执行的 ...
- QT调试技巧-使用静态代码检测工具Cppcheck检测代码
#QT调试技巧-使用静态代码检测工具Cppcheck检测代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 环境: Qt Creat ...
- Jenkins 在 Tomcat 中的部署及代码静态检查工具集成
Jenkins 的简单部署 在安装了 Jenkins 运行所需的依赖(主要是 JDK)之后,可以通过如下步骤简单快速地部署 Jenkins: 下载 Jenkins. 打开终端并切换至下载目录. 运行命 ...
- 静态检测工具STATIC以及静态分析的必要性
这一篇向大家介绍的是我司静态检测工具STATIC以及静态分析的必要性.欢迎各位技术大牛发表自己的看法呀! 正常运行的软件就是完美的软件吗? 下图是漫威电影<黑豹>中给小编留下很深印象的场面 ...
- 七款代码味道识别工具【简介】
代码味道识别工具 (Code Smell Detection Tools, CSDT)既可以应用于软件开发阶段,也可以应用于软件维护阶段.目前大部分IDE都集成了自动或者半自动重构工具, ...
- Docker搭建SonarQube代码质量检测工具
SonarQube简介 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量. 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/S ...
- 代码静态检查工具PC-Lint运用实践
代码静态检查工具PC-Lint运用实践 如何提交zero bug的产品,如何尽早发现bug,是软件开发工程师和测试工程师都需要思考的问题.我认为高质量的代码是关键,具体实施保障办法有:框架约束,代码评 ...
- 【IDEA】代码质量检测工具 QAPLug
[IDEA]代码质量检测工具 QAPLug 代码质量检测工具 情景: 写完代码一定要别人review才发现bug或不好的语法或多余的变量是一件多么尴尬的事情,如果想在写代码时或者写代码后自己能发现问题 ...
最新文章
- Py之dominate:python的dominate库的简介、安装、使用方法之详细攻略
- word2vec实例详解python_Python实现word2Vec model过程解析
- python382怎么用_教你如何使用Python快速生成验证码
- 张朝阳:搜狐Q3广告业务稳健游戏业务超预期 有望全年实现盈利
- matlab2c使用c++实现matlab函数系列教程-factorial函数
- Linux之软件安装rpm、yum/dnf、源码(安装)
- 计算机视觉实战(七)图像金字塔与轮廓检测
- [2018.11.05 T2] 买牛奶
- Ms SQL2016 备份和还原
- BAT文件中如何注释
- Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
- 利用云效度量功能进行质量运营和效率驱动提升
- C语言函数:even(n),fflush(stdin)
- (最新)唯品会WEB端加密参数逆向分析
- mysql怎么将成绩划分等级_数据库mysql中case如何给成绩划分等级?
- 正则表达式(Regular Expression)——入门笔记(常用正则表达式符号、正则表达式在线调试工具)
- CanOpen通信协议python实现
- 【软考必读】软考高级证书对工作的6大帮助
- JAVA用一维数组生成福彩双色球中奖号码
- DSP、SSP、RTB、ADX(概念通俗解释)
热门文章
- mysql tdb数据库_MYSQL数据库基础
- android ota 服务器搭建,构建 OTA 软件包 | Android 开源项目 | Android Open Source Project...
- 2020年焊工(中级)答案解析及焊工(中级)证考试
- 计算机桌面不同步,为什么电脑桌面的时间与实际时间不一致,该怎么
- 微信H5测试答题抽奖
- jquery增加和移除属性
- Android学QQ聊天列表展示ListView
- WordVBA:半角字符转为全角字符(结合查找方法)
- PHP辅助工具安装-phpMyAdmin和论坛
- php window.onload,window.onload,body onload和document.onreadystatechange