源码查看利器-利用doxygen和graphviz将源码生成调用关系图

  1. 介绍

Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。

官网:http://www.doxygen.nl/

百科:https://baike.baidu.com/item/Doxygen/1366536?fr=aladdin

 

Graphviz(Graph Visualization)是1990年代初诞生于AT&T的Bell实验室的一个开源的 (EPL授权)、跨平台 的 脚本自动化绘图软件工具。

Graphviz使用一种称为dot语言的DSL(Domain Special Language)语言编写Script File脚本文件,然后使用Layout布局引擎解析这个Script File脚本文件完成 自动化布局渲染 。

官网:http://www.graphviz.org/

 

Doxygen和Graphviz结合使用, 完美的让代码以网页、图形、调用关系图图展现出来。方便阅览代码。

此方法优势: 不需要编译代码。根据需求,配置好参数,可利用命令直接输出结果。

  1. 安装

开发环境: ubuntu

$ sudo apt-get install graphviz doxygen doxygen-gui

待安装完成后, 通过命令查看:

$ doxygen -v

1.8.11

 

  1. 转换

    1. 启动配置页面

执行用命令,将出现如下界面:

$ doxywizard

    1. 配置工程信息

填写图中出现标注部分。点击【Next】

 

    1. 配置模式

根据代码语言,选择对应项目。

 

    1. 配置输出项

按图中所示,设置对应项目。

 

    1. 配置图表

这里是用到graphViz关键地方。

 

    1. 配置[Expert]

语言选择中文

[Expert]往下拉到[dot], DOT_PATH选择为/usr/bin。点击【Next】

 

    1. 运行

此处可点击【Run doxygen】, 输出框会显示输出内容。

或者关闭窗口,保存配置项,通过命令生成文件。关闭窗口跳出如下框图:

 

选择【Save】,保存配置文件Doxyfile。

 

执行命令:doxygen Doxyfile, 待运行结束。

 

  1. 输出文件展示

Png文件就是保存的调用关系图, html网页文件展示代码及关系图所有信息。可直接打开html网页文件查看内容。关系图示例:

 

  1. 其它

将源码生成调用关系图还有很多方式,比如:

1. drafter 在iOS项目中自动生成函数调用关系图

https://blog.csdn.net/allanGold/article/details/89186582

2. 用Graphviz + CodeViz生成C/C++函数调用图

https://www.cnblogs.com/lanxuezaipiao/p/3450201.html

3. source insight

利用[Relation]功能,可展示几种关系图:树形,左右,上下

发布了113 篇原创文章 · 获赞 21 · 访问量 15万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章