• 安装doxygen(一个自动文档生成工具)+Graphviz图形可视化软件


    参考文章:

    http://www.fmddlmyy.cn/text21.html

    http://www.cnblogs.com/duguguiyu/archive/2008/06/29/1231852.html  ---入门介绍

    https://www.ibm.com/developerworks/cn/aix/library/au-aix-graphviz/index.html

    1 Doxygen简介

    1.1 What to do?

    使用Doxygen生成文档,主要是两件事:

    1. 写一个配置文件(Doxyfile),一般用Doxywizard生成后,再手工修改[不建议使用,不直观,比较麻烦]。或者可以用辅助的GUI工具帮助书写,你只需要改几个选项,点几下按钮就可以了(在下面有介绍)
    2. 按照Doxygen的约定,将代码“文档化”。

    如果已经有配置文件(Doxyfile),执行命令:doxygen Doxyfile,就会输入文件、输出目录、参数等都是在Doxyfile中配置好的,在/doc/html/index.html中查看。

    1.2 What you want?

    Doxygen的输出格式主要有HTML、LATEX、RTF等:

    • Doxygen在输出HTML文档时,可以自动准备用于制作CHM的项目文件(.hhp)、目录文件(.hhc)和索引文件(.hhk)。用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。
    • Doxygen在输出LATEX文档的同时准备了转换到pdf格式的makefile。只要系统安装了合适的TEX工具,就可以从LATEX文档生成pdf文档。
    • Doxygen输出的RTF格式,已经针对Word作了优化,可以较好地转换到Word文档。

     1.3 install

    如果你电脑里可能还没有doxygen,我们先来安装一下:

    sudo apt-get install doxygen doxygen-gui  //就是上面提到的GUI,不用再写Doxyfile,用GUI工具
    [sudo] password for wj: 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following package was automatically installed and is no longer required:
      libopencc1
    Use 'apt-get autoremove' to remove it.
    Suggested packages:
      doxygen-doc
    The following NEW packages will be installed:
      doxygen-gui
    0 upgraded, 1 newly installed, 0 to remove and 354 not upgraded.
    Need to get 279 kB of archives.
    After this operation, 671 kB of additional disk space will be used.
    Get:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/universe doxygen-gui amd64 1.8.6-2 [279 kB]
    Fetched 279 kB in 0s (291 kB/s)      
    Selecting previously unselected package doxygen-gui.
    (Reading database ... 264559 files and directories currently installed.)
    Preparing to unpack .../doxygen-gui_1.8.6-2_amd64.deb ...
    Unpacking doxygen-gui (1.8.6-2) ...
    Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
    Setting up doxygen-gui (1.8.6-2) ...

    总之,主要是doxygen本体和它的gui模块。如果你不确定,请用这个查一下。

    j@wj-Inspiron-5437:~$ apt-cache search doxygen-gui
    doxygen-gui - GUI configuration tool for doxygen

    拿以难读著称的lsd-slam举个例子。

    [1]首先,建个文件夹,把lsd-slam的代码拷下来:

    git clone https://github.com/tum-vision/lsd_slam.git

    [2]在该文件夹下开一个doc文件夹,把一会儿生成的文档放里头:

    mkdir doc;
     cd doc

    [3]输入doxywizard调出gui面板。

    wj@wj-Inspiron-5437:~/Downloads/lsd_slam/doc$ doxywizard

    然后就会出一个面板啦...

    step1---Wizard


    1.“Project”:

    [1]Doxygen工作目录填写,即doc所在路径。

    [2]Project name那些东西随意,可以不设。

    [3]重要的是源代码目录source code directory,请把它设到lsd_slam_core/src下,并钩上Scan recursively,表明我们要扫描子文件夹。

    [4]输出文件夹设成当前目录./即可,也就是/home/wj/Downloads/lsd_slam/doc

    2.进入下一个版块“Mode”,点“Next”。选择All Entities,可以输出相对完整的功能,是否包含源代码看自身情况;在下面选择好自己的语言,既然咱们用c++,保持默认的就可以了。

    3.“Output”:如果你需要输出chm格式,勾选chm,没有要求的话html就可以了

    4.Diagrams:选择使用GraphViz包,来输出UML,GraphViz包可以帮助建立一些树状视图。

    step2---Expert

    需要首选确定你所输出的语言,很重要的是INPUT_ENCODING项,如果使用的为微软默认字符集请填写GBK,不然目录乱码,当前选择UTF-8,输出语言选择的是Chinese.

    ......以上的配置基本情况下就可以啦,剩下的就不在这里赘述了,感兴趣可以参考:http://www.cnblogs.com/chenyang920/p/5732643.html

     step3---Run

    准备工作完成啦!切到Run,点“Run doxygen",等文档生成完。然后点“show html output",就可以在浏览器里看到文档啦。如果你下一次想直接看,直接打开doc/html/index.html就可以了!

    看这个比看源代码效果更高哦!

    附:原理图

     2 Graphviz简介

    Graphviz是一个图形可视化软件。Doxygen使用Graphviz生成各种图形,例如类的继承关系图、合作图,头文件包含关系图等。适用于大多数平台的二进制文件可以在 Graphviz 官网 上找到,AIX 二进制文件可以在 perzl.org 上找到。Doxygen使用了Graphviz的布局引擎dot,所以在文档中将其称作dot。

     install

    $ sudo apt-get install graphviz graphviz-doc    //这样会安装dot语言的执行文件,执行文件路径在/usr/bin/dot
    

    可以来个测试:

    [1]自己创建一个test.dot  (更多例子可以参见官方文档)---dot

    digraph G {   
        subgraph cluster0 {  
            node[style=filled, color=white];  
            style=filled;  
            color=lightgrey;  
            a0->a1->a2->a3;  
            label="process #1";  
        }     
              
        subgraph cluster1 {  
            node[style=filled];  
            color=blue;  
            b0->b1->b2->b3;  
            label="process #2";  
        }     
              
        start->a0;  
        start->b0;  
        a1->b3;  
        b2->a3;  
        a3->end;  
        b3->end;  
              
        start[shape=Mdiamond];  
        end[shape=Msquare];                                                                                                                                                     
    }    

    [2]执行命令:

    $ dot -Tpng test.dot -o test.png //都是用来生成图片,选择其中一个即可。
    $ dot -Tsvg test.dot -o test.svg
    $ dot -Tpdf test.dot -o test.pdf

    [3]结果:

  • 相关阅读:
    Modelsim SE 问题集锦【原创】
    Android Fastboot
    sd_fusing总结
    Quartus II 文件类型及备份【原创】
    GNU ARM汇编的.balignl对齐实验
    uboot_smdkv210 分析一:源码目录结构
    怎样理解阻抗匹配【转】
    单文件上传与微信多媒体文件转码
    获取微信签名
    Linux 环境下svn 服务器搭建
  • 原文地址:https://www.cnblogs.com/Jessica-jie/p/6747438.html
Copyright © 2020-2023  润新知