Doxygen+Graphviz生成函数调用流程图
来源:互联网 发布:文字编辑美化软件 编辑:程序博客网 时间:2024/05/22 18:56
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 doxygenbash-2.05$ ./configure –prefix=/home/user1/binbash-2.05$ makebash-2.05$ make install
Graphviz
简介
Graphviz的是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错.Graphviz本身是开源的产品,下载可以到 这里,以及他的演示界面 Graphviz在windows上和Linux上都可以顺利运行.
下载源码并编译
地址
下载源码或者压缩包均可http://www.graphviz.org/
编译方法
bash-2.05$ cd graphvizbash-2.05$ ./configure –prefix=/home/user1/binbash-2.05$ makebash-2.05$ make install
使用 doxygen 生成文档
使用 doxygen 生成源代码的文档需要执行三个步骤。
生成配置文件
在 shell 提示上,输入命令 doxygen -g。这个命令在当前目录中生成一个可编辑的配置文件 Doxyfile。可以改变这个文件名,在这种情况下,应该调用 doxygen -g user-specified file name
bash-2.05b$ doxygen -gConfiguration file 'Doxyfile' created.Now edit the configuration file and enter doxygen Doxyfileto generate the documentation for your projectbash-2.05b$ ls DoxyfileDoxyfile
编辑配置文件
配置文件采用 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生成函数调用流程图
- 用Doxygen+Graphviz生成函数调用流程图
- 用Doxygen+Graphviz生成函数调用流程图
- 用Doxygen+Graphviz生成函数调用流程图
- Doxygen+Graphviz生成函数调用流程图
- 用Doxygen + Graphviz生成函数调用流程图/类图
- 转载_用Doxygen+Graphviz生成函数调用流程图 转
- 如何使用Doxygen 生成函数调用关系图(graphviz 2.30、chm)
- Windows平台下Doxygen+GraphViz+HtmlHelp自动生成函数调用关系图
- Windows平台下Doxygen+GraphViz+HtmlHelp自动生成函数调用关系图
- Doxygen+Graphviz配置正确,但是无法生成调用图
- 使用Doxygen+graphviz+Sublime2来看代码,查看函数调用关系
- 使用doxygen和graphviz来产生源代码函数调用图
- 使用doxygen和graphviz来产生源代码函数调用图
- doxygen和graphviz来产生源代码函数调用图
- 使用doxygen和graphviz来产生源代码函数调用图
- Linux下doxygen、graphviz生成chm文档
- 如何从网页找到对应的前端代码和后端代码
- 模仿VIMD的模式的简化代码示例
- eclipse中maven项目部署到tomcat (经典)
- 解决eclipse弹出“Building workspace has encountered a problem. Errors during build.”窗口问题
- Android设计模式之单例模式
- Doxygen+Graphviz生成函数调用流程图
- 图的应用——最小生成树(Kruskal算法)和(Prim算法)
- 5 标准IO的缓存
- JSP页面中${page.pageSize} 是什么意思
- C++知识点9
- 移动端开发demo—移动端web相册(一)
- 中学生应该养成的良好习惯
- 关于java
- 浪淘沙