您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
   
 
  
每天15篇文章
不仅获得谋生技能
更可以追随信仰
 
     
   
 订阅
  捐助
Jenkins常用插件之Cppcheck Plugin
 
509 次浏览     评价:  
 2018-8-6
 
编辑推荐:
本文来自于csdn,文章主要介绍的是静态代码检查工具Cppcheck,以及其基本的使用和安装配置。

工具简介

Cppcheck 是一个静态代码检查工具,支持C/C++代码;作为编译器的一种补充检查,Cppcheck主要对源代码执行以下检查:

1. 自动变量检查

2. 数组的边界检查

3. class类检查

4. 过期的函数,废弃函数调用检查

5. 异常内存使用,释放检查

6. 内存泄漏检查,主要是通过内存引用指针

7. 操作系统资源释放检查,中断,文件描述符等

8. 异常STL 函数使用检查

9. 代码格式错误,以及性能因素检查

基础使用

检查单个文件:cppcheck file.c

检查文件夹:cppcheck filePath

排除一个文件或文件夹:cppcheck -i src/file.c src

以下是该插件在Jenkins中使用的具体步骤:

第一步:Cppcheck相关软件下载和安装

在网上下载Cppcheck

在网上下载Cppcheck Plugin插件,下载文件为cppcheck.hpi

安装Cppcheck工具

1、进入/usr/local,解压:tar –zxvf cppcheck-1.73.tar.gz

2、进入/usr/local/cppcheck 1.73,编译:make CFGDIR=/usr/local/cppcheck 1.73/cfg/

3、安装:make install

4、配置cppcheck的环境变量,修改/etc/profile如下:

新增CPPCHECK_HOME=/usr/local/cppcheck 1.73

在PATH后追加:$CPPCHECK_HOME

在CLASSPATH后追加:$CPPCHECK_HOME

运行source /etc/profile命令,使新的环境变量生效

在jenkins中安装Cppcheck Plugin插件,系统管理–>插件管理–>高级上传cppcheck.hpi进行安装

第二步:项目的具体配置

第三步:结果查看

Cppcheck使用样例

# 最小集参数设置
cppcheck --xml --xml-version=2 SOURCE_DIRECTORY
2> cppcheck.xml

# 检查所有
cppcheck --enable=all --inconclusive --xml --xml-version=2
SOURCE_DIRECTORY 2> cppcheck.xml

# 多线程并行分析代码
cppcheck -j 4 --enable=all --inconclusive --xml
--xml-version=2 SOURCE_DIRECTORY 2> cppcheck.xml

Cppcheck设置说明

使用中遇到的问题

问题1:cppcheck:failed to load library configuration file ‘std.cfg’.file not find

详细的错误信息:Failed to load std.cfg. Your Cppcheck installation is broken, please re-install. The Cppcheck binary was compiled without CFGDIR set. Either the std.cfg should be available in cfg or the CFGDIR should be configured.

原因:编译时未指定CFGDIR

解决方法:在编译时指定CFGDIR,如:make CFGDIR=/usr/local/cppcheck 1.73/cfg/

   
509 次浏览  评价: 差  订阅 捐助
相关文章

深度解析:清理烂代码
如何编写出拥抱变化的代码
重构-使代码更简洁优美
团队项目开发"编码规范"系列文章
相关文档

重构-改善既有代码的设计
软件重构v2
代码整洁之道
高质量编程规范
相关课程

基于HTML5客户端、Web端的应用开发
HTML 5+CSS 开发
嵌入式C高质量编程
C++高级编程
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号