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 文件格式相似。
下面是最重要的标记:

  1. 工程配置

    • 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。否则,文档不包含文件的静态成员(函数和变量)。
  2. 生成图形和图表
    在默认情况下,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 会生成协作图(还有继承图),显示各个类成员(即包含)及其继承层次结构。
  3. 从文档生成过程中排除特定文件或目录

    • 在 Doxyfile 中的 EXCLUDE 标记中,添加不应该为其生成文档的文件或目录(以空格分隔)。
    • 因此,如果提供了源代码层次结构的根,并要跳过某些子目录,这将非常有用。
    • 例如,如果层次结构的根是 src_root,希望在文档生成过程中跳过 examples/ 和 test/memoryleaks 文件夹
  4. 文档输出格式
    除了 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生成函数调用流程图相关推荐

  1. 使用Doxygen + graphviz生成Unity 3d的UGUI类图

    下载软件 1) Graphviz,下载地址:http://download.csdn.net/detail/u010953266/8591169 为什么不用官网?一是下载速度慢,二是下载到本地的文件貌 ...

  2. 【转载】doxygen+graphviz生成代码文档

    一.工具 doxygen:http://www.stack.nl/~dimitri/doxygen/download.html graphviz:http://www.graphviz.org/ 二. ...

  3. 超酷!!!成功使用doxygen+Graphviz+HtmlHelp 自动生成函数调用关系图

    使用Doxygen+Graphviz+HtmlHelp 生成函数调用关系图 在写这篇博客之前,首先感谢一下另外一篇博主的文章,Windows平台下Doxygen+GraphViz+HtmlHelp自动 ...

  4. Graphviz - 生成smc 的.sm文件对应的工作流程图

    Graphviz - 生成smc 的.sm文件对应的工作流程图 一.smc状态机的使用说明及示例 二.生成sm工作流程图 2.1 graph 指令介绍 2.2 安装Graphviz软件 2.3 生成. ...

  5. Doxygen + Graphviz windows+Windows Help Workshop下安装配置(图解)

    一.什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞 ...

  6. Doxygen + Graphviz 安装(windows 10系统)

    一.准备工作 1.windows 10系统 2.下载doxygen,可以自己从官网下载,如果下不下来可以从我百度云盘下,我下载的是doxygen-1.8.10-setup版本 下载地址:https:/ ...

  7. linux程序注释生成器,Doxygen—程序文档生成工具

    doxygen是一种从源代码生成文档的工具,支持多种语言.当然,源代码中需按一定的格式写注释,这些注释的格式也能帮助我们养成很好的注释习惯,可以尝试一下. 使用doxygen生成文档的方法很简单: $ ...

  8. source insight怎么生成函数调用关系图?

    点击relation window 参考文章:Source Insight怎么生成函数调用关系图?

  9. 【Android 11】【WiFi模块】WiFi打开函数调用流程图

    [Android 11][WiFi模块]WiFi打开函数调用流程图 [免费]高清PDF: ①CSDN 文档下载链接 ②百度网盘 链接:https://pan.baidu.com/s/16oaTMFI5 ...

最新文章

  1. Ubuntu 16.04安装NASM汇编IDE-SASM
  2. 参加技术会议的一些小窍门
  3. ARMV8-M学习笔记-入门
  4. linux 第一个内核模块Hello World
  5. jwPlayer为js预留的回调方法
  6. 阿里云发布时间序列数据库TSDB,关于时序你了解多少?
  7. PHP定界符的使用既注意事项
  8. x86汇编代码转x64平台使用(VS2010测试通过)最简单的方法
  9. 成功的人和不成功的人最大的区别
  10. 拓端tecdat|R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化
  11. 安卓版有道词典的离线词库-《21世纪大英汉词典》等
  12. CrystalReports2008 SN
  13. 在Chrome谷歌浏览器中使用H5地理位置API
  14. 百度智能云在AI云服务市场四度夺魁!
  15. java面试(1)如何防止恶意攻击短信验证码接口
  16. 圆跳动基础知识(几何公差)
  17. 浏览器缓存机制及一些缓存问题解决方法
  18. 阿里P10、腾讯T4、华为18都是怎样的神级收入?
  19. r语言nonzerocoef函数_lars算法R语言操作指南.pdf
  20. SSO - 单点登录

热门文章

  1. 线性可分支持向量机、线性支持向量机、非线性支持向量机的区别
  2. C#学习笔记(五)CSharp操作符-基本操作符(一)
  3. Python数据可视化的3大步骤!
  4. C#使用原生方法将文字朗读出来
  5. Tushare社区验证Carhart四因子模型
  6. docker使用alpine镜像
  7. 如何一天深度睡眠4个小时
  8. shoppe项目08----购物车
  9. 爱奇艺2017校园招聘笔试题
  10. (一)走进Linux世界(安装Centos8,初始化生产环境,GNU bash)