绘制函数调用图(call graph):doxygen + graphviz
专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解。
FFmpeg API Documentation 就是用doxygen自动生成的),它也可以通过静态分析代码,生成「头文件引用关系图」、「函数调用关系图」、「继承图」以及「协作图」来可视化文档之间的关系。
官网:http://www.doxygen.nl/
根据官网介绍,截止书稿,它能支持的语言有:C, C++, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL等。生成的帮助文档格式可以是CHM、RTF、PostScript、PDF、HTML和Unixman page等。
有了这样的工具,在发布程序版本的同时,发布帮助文档也将变得简单、高效,配合持续集成系统(如Jenkins),自动构建系统,帮助文档可以跟随代码一起实时、轻松的发布版本。
doxygen 是跨平台的工具,支持Linux、Windows、Mac OS X系统,本文将以Windows版本为例,简要介绍如何使用 doxygen 生成函数调用关系图,其他功能(如将代码的注释生成帮助文档)不在本文讨论范围内,这是一个入门级的教程。
http://www.graphviz.org/
下载:https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
在官网上很容易找到 Windows 平台的 Stable 最新版本,如下图所示,我下载的版本是「graphviz-2.38.msi」,安装过程一直“Next”即可。
图 2-1 选择Stable版本下载graphviz
http://www.doxygen.nl/
下载:下载地址)来分析:
图 6-5 doxygen分析复杂点的函数关系图
总结
图 6-5 doxygen分析复杂点的函数关系图
比起doxygen,之前两篇文章所体验的cflow、codeviz简直弱爆了,doxygen安装过程简单,使用便捷,容易上手,用户体验较好。
参考:https://blog.csdn.net/benkaoya/article/details/79763668?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5.pc_relevant_default&utm_relevant_index=10