Doxygen+Graphviz生成函数调用流程图
Doxygen
简介
Doxygen是一个C++、C、Java、Objective-C、Python语言的文檔生成器。可以在大多数类Unix的系统上运行,以及Mac OS X操作系统和Microsoft Windows。
下载源码并编译
地址
下载源码或者压缩包均可http://www.stack.nl/~dimitri/doxygen/index.html
编译方法
bash-2.05$ cd doxygen
bash-2.05$ ./configure –prefix=/home/user1/bin
bash-2.05$ make
bash-2.05$ make install
Graphviz
简介
Graphviz的是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错.Graphviz本身是开源的产品,下载可以到 这里,以及他的演示界面 Graphviz在windows上和Linux上都可以顺利运行.
下载源码并编译
地址
下载源码或者压缩包均可http://www.graphviz.org/
编译方法
bash-2.05$ cd graphviz
bash-2.05$ ./configure –prefix=/home/user1/bin
bash-2.05$ make
bash-2.05$ make install
使用 doxygen 生成文档
使用 doxygen 生成源代码的文档需要执行三个步骤。
生成配置文件
在 shell 提示上,输入命令 doxygen -g。这个命令在当前目录中生成一个可编辑的配置文件 Doxyfile。可以改变这个文件名,在这种情况下,应该调用 doxygen -g user-specified file name
bash-2.05b$ doxygen -g
Configuration file 'Doxyfile' created.
Now edit the configuration file and enterdoxygen Doxyfile
to generate the documentation for your project
bash-2.05b$ ls Doxyfile
Doxyfile
编辑配置文件
配置文件采用 TAGNAME = VALUE 这样的结构,与 Make 文件格式相似。
下面是最重要的标记:
工程配置
- OUTPUT_DIRECTORY:必须在这里提供一个目录名,例如 /home/user1/documentation,这个目录是放置生成的文档文件的位置。如果提供一个不存在的目录名,doxygen 会以这个名称创建具有适当用户权限的目录。
- INPUT:这个标记创建一个以空格分隔的所有目录的列表,这个列表包含需要生成文档的 C/C++ 源代码文件和头文件。例如,请考虑以下代码片段:INPUT = /home/user1/project/kernel /home/user1/project/memory 在这里,doxygen 会从这两个目录读取 C/C++ 源代码。如果项目只有一个源代码根目录,其中有多个子目录,那么只需指定根目录并把 RECURSIVE 标记设置为 Yes。
- FILE_PATTERNS:在默认情况下,doxygen 会搜索具有典型 C/C++ 扩展名的文件,比如 .c、.cc、.cpp、.h 和 .hpp。如果 FILE_PATTERNS 标记没有相关联的值,doxygen 就会这样做。如果源代码文件采用不同的命名约定,就应该相应地更新这个标记。例如,如果项目使用 .c86 作为 C 文件扩展名,就应该在 FILE_PATTERNS 标记中添加这个扩展名。
- RECURSIVE:如果源代码层次结构是嵌套的,而且需要为所有层次上的 C/C++ 文件生成文档,就把这个标记设置为 Yes。例如,请考虑源代码根目录层次结构 /home/user1/project/kernel,其中有 /home/user1/project/kernel/vmm 和 /home/user1/project/kernel/asm 等子目录。如果这个标记设置为 Yes,doxygen 就会递归地搜索整个层次结构并提取信息。
- EXTRACT_ALL:这个标记告诉 doxygen,即使各个类或函数没有文档,也要提取信息。必须把这个标记设置为 Yes。
- EXTRACT_PRIVATE:把这个标记设置为 Yes。否则,文档不包含类的私有数据成员。
- EXTRACT_STATIC:把这个标记设置为 Yes。否则,文档不包含文件的静态成员(函数和变量)。
生成图形和图表
在默认情况下,Doxyfile 把 CLASS_DIAGRAMS 标记设置为 Yes。这个标记用来生成类层次结构图。要想生成更好的视图,可以从 Graphviz 下载站点 下载 dot 工具。Doxyfile 中的以下标记用来生成图表:- CLASS_DIAGRAMS:在 Doxyfile 中这个标记默认设置为 Yes。如果这个标记设置为 No,就不生成继承层次结构图。
- HAVE_DOT:如果这个标记设置为 Yes,doxygen 就使用 dot 工具生成更强大的图形,比如帮助理解类成员及其数据结构的协作图。注意,如果这个标记设置为 Yes, CLASS_DIAGRAMS 标记就无效了。
- CLASS_GRAPH:如果 HAVE_DOT 标记和这个标记同时设置为 Yes,就使用 dot 生成继承层次结构图,而且其外观比只使用 CLASS_DIAGRAMS 时更丰富。
- COLLABORATION_GRAPH:如果 HAVE_DOT 标记和这个标记同时设置为 Yes,doxygen 会生成协作图(还有继承图),显示各个类成员(即包含)及其继承层次结构。
从文档生成过程中排除特定文件或目录
- 在 Doxyfile 中的 EXCLUDE 标记中,添加不应该为其生成文档的文件或目录(以空格分隔)。
- 因此,如果提供了源代码层次结构的根,并要跳过某些子目录,这将非常有用。
- 例如,如果层次结构的根是 src_root,希望在文档生成过程中跳过 examples/ 和 test/memoryleaks 文件夹
文档输出格式
除了 HTML 之外,doxygen 还可以生成几种输出格式的文档。可以让 doxygen 生成以下格式的文档:- UNIX 手册页:把 GENERATE_MAN 标记设置为 Yes。在默认情况下,会在 OUTPUT_DIRECTORY 指定的目录中创建 man 子文件夹,生成的文档放在这个文件夹中。必须把这个文件夹添加到 MANPATH 环境变量中。
- Rich Text Format(RTF):把 GENERATE_RTF 标记设置为 Yes。把 RTF_OUTPUT 标记设置为希望放置 .rtf 文件的目录;在默认情况下,文档放在 OUTPUT_DIRECTORY 中的 rtf 子文件夹中。要想支持跨文档浏览,应该把 RTF_HYPERLINKS 标记设置为 Yes。如果设置这个标记,生成的 .rtf 文件会包含跨文档链接。
- Latex:在默认情况下,doxygen 生成 Latex 和 HTML 格式的文档。在默认的 Doxyfile 中, GENERATE_LATEX 标记设置为 Yes。另外, LATEX_OUTPUT 标记设置为 Latex,这意味着会在 OUTPUT_DIRECTORY 中创建 latex 子文件夹并在其中生成 Latex 文件。
- Microsoft® Compiled HTML Help(CHM)格式:把 GENERATE_HTMLHELP 标记设置为 Yes。因为在 UNIX 平台上不支持这种格式,doxygen 只在保存 HTML 文件的文件夹中生成一个 index.hhp 文件。您必须通过 HTML 帮助编译器把这个文件转换为 .chm 文件。
- Extensible Markup Language(XML)格式:把 GENERATE_XML 标记设置为 Yes。(注意,doxygen 开发团队还在开发 XML 输出)。
运行 doxygen
- 在 shell 提示下输入 doxygen Doxyfile(或者已为配置文件选择的其他文件名)运行 doxygen。
- 在最终生成 Hypertext Markup Language(HTML)和 Latex 格式(默认)的文档之前,doxygen 会显示几个消息。
- 在生成文档期间,在 OUTPUT_DIRECTORY 标记指定的文件夹中,会创建两个子文件夹 html 和 latex。
Doxygen+Graphviz生成函数调用流程图相关推荐
- 使用Doxygen + graphviz生成Unity 3d的UGUI类图
下载软件 1) Graphviz,下载地址:http://download.csdn.net/detail/u010953266/8591169 为什么不用官网?一是下载速度慢,二是下载到本地的文件貌 ...
- 【转载】doxygen+graphviz生成代码文档
一.工具 doxygen:http://www.stack.nl/~dimitri/doxygen/download.html graphviz:http://www.graphviz.org/ 二. ...
- 超酷!!!成功使用doxygen+Graphviz+HtmlHelp 自动生成函数调用关系图
使用Doxygen+Graphviz+HtmlHelp 生成函数调用关系图 在写这篇博客之前,首先感谢一下另外一篇博主的文章,Windows平台下Doxygen+GraphViz+HtmlHelp自动 ...
- Graphviz - 生成smc 的.sm文件对应的工作流程图
Graphviz - 生成smc 的.sm文件对应的工作流程图 一.smc状态机的使用说明及示例 二.生成sm工作流程图 2.1 graph 指令介绍 2.2 安装Graphviz软件 2.3 生成. ...
- Doxygen + Graphviz windows+Windows Help Workshop下安装配置(图解)
一.什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞 ...
- Doxygen + Graphviz 安装(windows 10系统)
一.准备工作 1.windows 10系统 2.下载doxygen,可以自己从官网下载,如果下不下来可以从我百度云盘下,我下载的是doxygen-1.8.10-setup版本 下载地址:https:/ ...
- linux程序注释生成器,Doxygen—程序文档生成工具
doxygen是一种从源代码生成文档的工具,支持多种语言.当然,源代码中需按一定的格式写注释,这些注释的格式也能帮助我们养成很好的注释习惯,可以尝试一下. 使用doxygen生成文档的方法很简单: $ ...
- source insight怎么生成函数调用关系图?
点击relation window 参考文章:Source Insight怎么生成函数调用关系图?
- 【Android 11】【WiFi模块】WiFi打开函数调用流程图
[Android 11][WiFi模块]WiFi打开函数调用流程图 [免费]高清PDF: ①CSDN 文档下载链接 ②百度网盘 链接:https://pan.baidu.com/s/16oaTMFI5 ...
最新文章
- Ubuntu 16.04安装NASM汇编IDE-SASM
- 参加技术会议的一些小窍门
- ARMV8-M学习笔记-入门
- linux 第一个内核模块Hello World
- jwPlayer为js预留的回调方法
- 阿里云发布时间序列数据库TSDB,关于时序你了解多少?
- PHP定界符的使用既注意事项
- x86汇编代码转x64平台使用(VS2010测试通过)最简单的方法
- 成功的人和不成功的人最大的区别
- 拓端tecdat|R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化
- 安卓版有道词典的离线词库-《21世纪大英汉词典》等
- CrystalReports2008 SN
- 在Chrome谷歌浏览器中使用H5地理位置API
- 百度智能云在AI云服务市场四度夺魁!
- java面试(1)如何防止恶意攻击短信验证码接口
- 圆跳动基础知识(几何公差)
- 浏览器缓存机制及一些缓存问题解决方法
- 阿里P10、腾讯T4、华为18都是怎样的神级收入?
- r语言nonzerocoef函数_lars算法R语言操作指南.pdf
- SSO - 单点登录