generate function calling graph

生成函数调用图

目的: 记录 ubnutu 下 doxygen 和 graphviz 生成函数调用关系图

安装 graphviz

命令行输入sudo apt-get install graphviz

安装 doxygen

进入 doxygen 官网 下载页面
按照提示 git clone 源码

1
2
3
4
5
6
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make

在 cmake 这一步出了问题, 报错 Could NOT find FLEX (missing: FLEX_EXECUTABLE)
网上搜索一番, 需要安装 flex 和 bison
命令行输入 sudo apt-get install flex bison 解决

  • 据悉,doxygen 安装可以使用命令行 sudo apt-get install doxygen 一键完成

至此需要的工具已经全部安装完成

生成函数调用图

1. 下载代码
因为想学习 redis 源码, 本次以 redis 的源码为例, 首先搜索个版本最低的 redis, 路径为 https://code.google.com/archive/p/redis/downloads?page=7 我们选择redis-beta-1.tar.gz 作为入门代码, 下载完成后解压

2. 生成 doxygen 文件 Doxyfile
doxygen -g生成带有注释的配置文件,doxygen -s -g生成不带注释的文件, 生成文件文件名 Doxyfile

3. 修改 Doxyfile

4. 生成
命令行输入doxygen Doxyfile

5. 查看
本人相对来说喜欢 html 格式, 因为可以本地查看, 或者搭建 httpserver 作为静态资源当 doc, 应该也可以部署到 github pages 上. 展示其中的 main 函数调用, 效果图如下: