zoukankan      html  css  js  c++  java
  • Windows下使用doxygen阅读和分析C/C++代码

    Windows下使用doxygen阅读和分析C/C++代码

    转自:http://blog.sina.com.cn/s/blog_63d902570100gwk6.html

    虽然使用各种IDE或者Source Insight 可以方便地在windows下阅读和分析C/C++代码,但是一步步Go to Definetion 实在令人痛苦。Doxygen能够生成函数调用关系图,所有的函数调用关系可以一目了然,另外他还能统计文档中所有的类,成员变量,成员函数等。总的来说,Doxygen不但能从局部把握代码,还能从全局审视代码,后者是一般IDE和Source Insight 不能做到的。所以,使用doxygen阅读分析代码可以达到事半功倍的效果。

              doxygen的安装很简单,到官方网站下载doxygen的windows安装程序即可。除了安装doxygen外,还需要安装graphviz,因为doxygen需要使用graphviz的dot.exe生成调用图。graphviz在它的官方网站上也可以下载到安装程序。不过我下载的安装程序在安装时老是报cab文件错误。最后我下载了graphviz的release文件,即安装程序下面的zip压缩文件,下载完成后解压缩即可。

             安装完doxygen后即可进行适当的配置,然后运行doxyfile生成文档。基本的配置前人早有说明,不再赘述。需要注意的是:

            1.要勾选Dot选项卡下面的HAVE_DOT、CALL_GRAPH 、CALLER_GRAPH 选项。并在DOT_PATH下面填入dot.exe的路径,也就是graphviz安装目录下的bin文件夹。

            2.勾选Wizard->Project选项卡下面的Scan recursively!

            3.勾选Build选项卡下面的EXTRACT_ALL、EXTRACT_PRIVATE、EXTRACT_STATIC、EXTRACT_LOCAL_CLASSES、EXTRACT_LOCAL_METHODS选项

            4.如果程序里面有中文,将Project选项卡下的DOXYFILE_ENCODING和Input选项卡下面的INPUT_ENCODING改为GBK

           5.可以勾掉LATEX输出,这样节省编译时间

    Doxygen是一款开源软件,可用于从已经存在的VC工程中提炼出软件文档(HTML等格式),包括文件说明、类说明、属性方法说明、类关系等内容。一般常将Doxygen和graphviz两款软件一起安装,后者是一款绘图软件,可在前者生成的软件文档中增加图表。Doxygen的细节可以上网搜索。这里贴一下个人体会,可帮助感兴趣的朋友迅速上手这个软件: 

    1,安装DOXYGEN和graphviz后,可以在“DOXYGEN安装目录in”下用命令行方式运行doxygen.exe -g 生成一个名为Doxyfile的配置文件。 

    2,将文件Doxyfile复制到想生成文档的VC工程目录下。 
    修改该文件中的如下选项: 
    PROJECT_NAME = 填上项目名称 
    OUTPUT_LANGUAGE = 改为Chinese 
    GENERATE_LATEX = 改为NO 
    EXTRACT_ALL = 改为YES 
    HAVE_DOT = 改为YES 
    DOT_IMAGE_FORMAT = 该为JPG 
    DOT_PATH = 填上"C:/Program Files/ATT/Graphviz/bin/" 
    DOTFILE_DIRS = 填上"c:/Program Files/ATT/Graphviz/bin/" 

    3,对VC工程进行如下修改 
    (1)在stdAfx.h中增加预定义,以支持DOT画图。 
    #ifndef _DIAGRAMS_A_H 
    #define _DIAGRAMS_A_H 
    #endif 
    (2)在重要的类、方法、属性前面增加注释,以支持DOXYGEN分析。 
    /// @brief 最主要的业务实现类 
    /// 
    /// 所有的算法内容基本都在这个类中实现。 
    /// 
    /// @author lipp 

    或者放在语句后面 
    char sFilename[400]; ///< LOG文件名 

    并在重要文件前增加注释 
    /// @file xxx.cpp 
    /// 被其他程序调用的,实现了算法的DLL主程序。 
    /// 包括各个方法输出接口。 


    4,运行DOXYGEN.exe。LOAD以上的Doxyfile文件。点击START。这时会生成一个新的HTML目录在VC工程目录中。 

    5,使用IE打开新生成的HTML目录中的INDEX.htm文件。

     

  • 相关阅读:
    C
    O
    扩展KMP
    扩欧与乘法逆元
    E
    D
    [LeetCode] Same Tree 深度搜索
    [LeetCode] Remove Duplicates from Sorted List 链表
    [LeetCode] Balanced Binary Tree 深度搜索
    [LeetCode] Remove Nth Node From End of List 快慢指针
  • 原文地址:https://www.cnblogs.com/flylong0204/p/4729744.html
Copyright © 2011-2022 走看看