Doxygen, what?
Doxgen就是大名鼎鼎的文档生成工具,而且是免费开源的,它使用非常方便,能提取C++,Java,Objective-C,Python,IDL,PHP,C#等语言的注释,从而生成文档。
你可以访问其官方网站,下载安装包,它的官网上有详细的使用手册。
一、问题的产生
当分析一个很复杂的项目源代码时,如何有效的分析函数间的调用关系呢?从网上搜索到了如下方法:使用doxygen和graphviz来自动分析函数间的调用关系。
二、工具简介
doxygen:
是一种从标记过的C++源代码生成文档的标准工具,也支持C,Objective-C,C#,PHP,Java,Python,IDL,Fortran,VHDL,Tcl等。
graphviz:
是一种开源的将结构化信息展示成抽象图和网络的工具,用于网络,生物信息,软件工程,数据库和网站设计,机器学习以及其他技术领域的可视性接口。
三、生成函数调用图
1、下载并安装以下两种工具
doxygen:(http://www.stack.nl/~dimitri/doxygen/index.html)
graphviz:(http://www.graphviz.org/)
注意下载时,选择的是windows版本,还是mac版本。
如果安装过程中弹出“打不开 XXX,因为它来自身份不明的开发者”请进入如下网址寻找解决办法:
http://jingyan.baidu.com/article/f71d60377960651ab741d140.html
2、运行DoxyWizard,弹出Doxygen配置界面
选择Scan recursively则递归分析源代码目录中的子目录内的源代码。
由于使用到了Graphviz,所以要设置Dot选项,勾选HAVE_DOT,并设置DOT_PATH为Graphviz的bin目录。(注意:MAC的Graphviz的bin目录不在安装包内,一般是在/usr/local/bin/,实在找不到就到终端用ls一层一层的查找)
另外,若Doxygen出现中文乱码问题:
设置如下:
Expert选项卡-> Project:
DOXYFILE_ENCODING:UTF-8
OUTPUT_LANGUAGE:Chinese
Expert选项卡-> InPut:
INPUT_ENCODING:GB2312
这样生就可以正确生成含有中文的文档了。
原文:https://www.jianshu.com/p/fe4b6b95dca5
相关阅读: