文章目录
前言
相信大家都会在接受一份项目,或者阅读别人代码项目的时候,都要在各种定义的函数里跳转来跳转去分析。
如果项目比较庞大复杂一点,不做记录就容易头晕了,那么这时候能不能有工具能帮我们做一份文档,画出函数的调用关系图呢。
文章里我们就使用Doxygen+Graphviz来完成实现这个功能。
一、Doxygen和Graphviz的安装
1.Doxygen
Doxygen是一个代码文档生成工具。它从代码文件中提取注释并可生成多种文档形式。如:网页文档HTML,RTF (MS-Word),PDF等等。同时也可生成函数之间的调用和文件的依赖关系图表。
doxygen官网下载
此处下载后,将软件安装位置的bin目录添加至环境变量中(安装配置过编译器都再熟悉不过了)
2.Graphviz
Graphviz 是一款由 AT&T Research 和 Lucent Bell 实验室开源的可视化图形工具,可以很方便的用来绘制结构化的图形网络,支持多种格式输出。Graphviz 输入是一个用 dot 语言编写的绘图脚本,通过对输入脚本的解析,分析出其中的点、边及子图,然后根据属性进行绘制。
graphviz官网下载
同样,下载后添加环境变量,不过好像不要手动添加,安装选项可以勾选
二、配置生成文档
1.生成Doxyfile配置文件
进入cmd,cd到你的项目源码路径下,在这个路径下使用命令doxygen -g
注意:Doxyfile只能分析当前路径下的文件,通常来说项目的代码文件分布在不同文件夹,是没办法包含到的。
我自己的做法是开一个空的文件夹包含所有的代码文件,copy所有的相关代码文件,我的是C项目所有包含.C文件即可,可以确保生成的函数关系图没有遗漏
如果有别的方法可以交流一下,谢谢^ - ^
2.修改Doxyfile配置文件,使能生成函数调用图
HAVE_DOT = YES
CALL_GRAPH = YES
EXTRACT_ALL = YES
REFERENCES_RELATION = YES
修改以上参数即可,配置文件行数较多,用任意带有搜索功能的文本编辑器打开定位即可
3.生成代码文档
在目录下执行doxygen ./Doxyfile
等待生成完成即可
最后:愉悦浏览函数调用关系图
参考文章
[1].生成函数调用关系图