zoukankan      html  css  js  c++  java
  • C++ 代码静态分析工具cppcheck【转】

    转自:http://blog.csdn.net/chen19870707/article/details/42393217

     
     

    C++ 代码静态分析工具cppcheck

    • Author:Echo Chen(陈斌)

    • Email:chenb19870707@gmail.com

    • Blog:Blog.csdn.net/chen19870707

      Date:Jan.1st , 2015

      近来游戏进入尾期,已上线运营,需求比较少,可以有时间整理优化下代码,但是优化如果没有一个标准,很难有一个实际的效果,所以先从简单的代码静态分析开始,找了许多代码静态检查的工具,splint,pclint、purify,infusion、cppcheck等,但cppcheck文档最精简,看起来最容易使用,个人简单的思路解决复杂问题,所以选择了cppcheck.

      1.cppcheck下载

      cppcheck现在的版本已经出到1.68,新版本的cppcheck需要C++11的支持,这里选择最经典的49版本。

      下载地址:cppcheck-1.49.tar.bz2

      2.cppcheck安装

         1: tar jxvf cppcheck-1.49.tar.gz
         2: cd cppcheck-1.49
         3: make
         4: make install

      如果make过程中报如下错误:

      image

      则需要安装pcre第三方正则表达式库

      image

      安装完再make & make install 成功。

      3.cppcheck 使用

      使用cppcheck –h 可以查看帮助,下面简单介绍下最有用的几个选项

         1: cppcheck . -j 3 --enable=all --xml 2>result.xml

      -j参数指定的是检查线程的个数,如果需要检查代码的量很大,-j参数还是很有用的 
             --enable指定当前指定的检查级别,可选的参数有all,style,information等

      --xml 是输出xml的版本

      4.cppcheck分析结果

       

      如下截取了工程的部分分析结果:

      image

      这里主要是说这些变量都应该设置为const变量。

      5.cppcheck可以分析错误的类型

         1: 自动变量检查
         2: 数组的边界检查
         3: class类检查
         4: 过期的函数,废弃函数调用检查
         5: 异常内存使用,释放检查
         6: 内存泄漏检查,主要是通过内存引用指针
         7: 操作系统资源释放检查,中断,文件描述符等
         8: 异常STL 函数使用检查
         9: 代码格式错误,以及性能因素检查

      -

    • Echo Chen:Blog.csdn.net/chen19870707

  • 相关阅读:
    jQuery对select操作
    左眼跳跳 100万
    [推荐] 世界上最健康的作息时间表
    放弃了mapbar 选用google map
    记录
    WPF等待窗口
    PL界面
    C# 获得随机数
    组合
    delphi版淘小宝图片下载工具
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/6273620.html
Copyright © 2011-2022 走看看