OCLint:静态代码分析工具(C、C++和Objective-C)

6 篇文章 0 订阅
4 篇文章 0 订阅

http://hao.jobbole.com/oclint/


OCLint:静态代码分析工具(C、C++和Objective-C)

OCLint是一个静态代码分析工具,通过检查C、C++和Objective-C代码提高程序质量,减少瑕疵,同时搜索潜在的问题。

主要功能

  • 可能的错误 – 空的ifelse/try/catch/finally语句
  • 未使用的代码 – 未使用的本地变量和参数
  • 复杂的代码 – 高秩复杂度、NPath(N路径)复杂度和大量非注释代码块(NCSS – Non Commenting Source Statements)
  • 冗余的代码 – 冗余的if语句和无效的括号
  • 代码异味 – 过长的函数和参数列表
  • 不良设计 – 逻辑颠倒和参数重复赋值
  • ……

静态代码分析是一个重要的技术,能够检测那些编译器注意不到的缺陷。OCLint自动完成如下高级检查功能:

  • 依靠源代码的抽象语法树达到更高的精确性和有效性;极大的减少误检,避免有效的结果沉没在误检消息中。
  • 在运行时也能动态向系统中加载检测规则。
  • 灵活性和可扩展配置确保用户可以自定义检测工具的功能。
  • 命令行调用有助于在开发时对代码进行连续的整合和检查,可以及早的修复技术缺陷,降低维护成本。

最新版本

OCLint是一个在Linux和Mac OS X平台运行的独立工具。用户可以在随后的网站下载最新版本:https://github.com/oclint/oclint/releases

  • 版本:0.11
  • 发布日期:2016年9月18日
  • License:Modified BSD License

安装

OCLint最终为预编译二进制版本和本地编译包。文件树和下面相似:

可以直接从bin文件夹中调用OCLint,不需要安装。

为了简化调用过程,建议将OCLint的bin文件夹添加到系统路径PATH中,此环境变量将告诉系统去哪个目录搜索执行文件。

安装教程:http://docs.oclint.org/en/stable/intro/installation.html

示例

创建一个sample.cpp文件,如下所示。

下一步是编译代码。其实不需要在使用OCLint检测该代码之前编译它。然而,由于寻找正确的参数成为最经常被问的问题,所以下列语句用于设置OCLint所需的编译标志。

现在,编译标志是-c,被检查的文件是sample.cpp

OCLint检查单个文件使用如下形式:

所以分析sample源文件使用的命令是:

可以将上述语句中options改成OCLint的其他功能,也可以使用不同的编译标志(compiler flags)。复杂一点的例子如下所示:

资源链接

官方网站:http://oclint.org/
开源地址:https://github.com/oclint


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值