http://blog.csdn.net/lostaway/article/details/6446786

Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具。如同 JavaDoc, doxygen 直接从源文件中提取符合 doxygen 注释规范的注释,生成文档[1]

1、安装

1.1 安装 Doxygen 1.7.4(Windows)

地址:ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.7.4.windows.bin.zip

1.2 安装 graphviz 2.28.0(Windows)

地址:http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.28.0.msi

graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形[2]。Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。

1.3 安装 Windows Help Workshop 1.32

地址:http://download.microsoft.com/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelp.exe

这个工具就不多说了,生成 CHM 帮助文档的。 Doxygen 使用它生成 CHM 格式的文档。

2、配置

运行 Doxywizard 开始配置

Doxygen 1.7.4 主界面如下图 1 所示。

说明:

Doxygen 工作目录(1:) 就是用来存放配置文件的目录,别无它用。

选择 wizard 标签下的 Output Topics

相关配置说明如下图 2 所示。

选择 wizard 标签下的 Diagrams Topics

相关配置说明如下图 3 所示。

如果之前安装了 Graphviz 工具包,就可启用该选项。

选择 expert 标签下的 Project Topics

相关配置说明如下图 4 所示。

说明:编码格式,UTF-8 是首选。

选择 expert 标签下的 Input Topics

相关配置说明如下图 5 所示。

说明:

输入的源文件的编码,要与源文件的编码格式相同。如果源文件不是UTF-8编码最好转一下。

选择 expert 标签下的 HTML Topics

相关配置说明如下图 6 所示。

说明:

如果在 Wizard 的 Output Topics 中选择了 prepare for compressed HTML (.chm)选项,此处就会要求选择 hhc.exe 程序的位置。在 windows help workshop 安装目录下可以找到 hhc.exe。

在 Expert 标签中还有超多的选项,需要按自己的要求去定制。个人喜好问题就不再赘述了,大家可以查 doxygen 文档啥的,里面有每个选项的详细介绍。

选择 Run 标签

相关配置说明如下图 7 所示。

点击 Run doxygen 按钮, Doxygen 就会从源代码中抓取符合规范的注释生成你定制的格式的文档。接下来的工作就是学习 doxygen 的注释规范了,参考 《doxygen 快速入门》第 2 节 “常用注释语法”。慢慢的就可以体会到 doxygen 的方便性。

Doxygen 生成 CHM 文档乱码的问题

由于 Windows 的默认编码不是 UTF-8, Doxygen 生成的 CHM文件目录和文件标题栏是乱码。一般解决步骤可以参考《doxygen 快速入门》关于解决目录乱码的问题。这里要补充的一点就是,最好将 index.hhc、index.hhk 、index.hhp都转为 UTF-8格式。这样标题栏啥的也不会是乱码了。

参考

[1] http://zh.wikipedia.org/wiki/Doxygen Wikipedia-doxygen

[2] http://zh.wikipedia.org/wiki/Graphviz Wikipedia-graphviz

[3] http://hi.baidu.com/soulmachine/blog/item/6055ad017a9a1606738da58c.html doxygen 快速入门

附录

补充几张效果图:

(转)Doxygen文档生成工具的更多相关文章

  1. 文档生成工具doxygen+图像生成工具GraphViz

    文档生成工具doxygen+图像生成工具GraphViz 虽然jdk自带的javadoc也很好用,不过使用doxygen+GraphViz 的组合可以生成许多强大的图(类图.协作图.文件包含/被包含图 ...

  2. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

  3. 使用Objective-C的文档生成工具:appledoc

    使用Objective-C的文档生成工具:appledoc 前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象 Ja ...

  4. 使用Objective-C的文档生成工具

    前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象Java语言本身就自带javadoc命令,可以从源码中抽取文档.今 ...

  5. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  6. 微软开源全新的文档生成工具DocFX

    微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文 ...

  7. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  8. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...

  9. Sandcastle----强大的C#文档生成工具

    最近客户索要产品的二次开发类库文档,由于开发过程中并没有考虑过此类文档,而且项目规范比较,持续时间比较长,经手人比较多,还真是麻烦,如果人工制作文档需要是一个比较大的工程.还好有这个文档生成工具,能够 ...

随机推荐

  1. ActiveX(二)Js 监听 ActiveX中的事件

    在上一篇随笔:ActiveX(一)第一个简单的Demo 中,已经可以实现 js 单向调用 ActiveX 中的方法,在很多情况下ActiveX中的方法的执行时相对耗时.耗性能的.在这样的情况下.Act ...

  2. php语言实现的7种基本的排序方法

    今天总结了一下常用的7种排序方法,并用php语言实现. 直接插入排序 /* * 直接插入排序,插入排序的思想是:当前插入位置之前的元素有序, * 若插入当前位置的元素比有序元素最后一个元素大,则什么也 ...

  3. BZOJ 1044 木棍分割 解题报告(二分+DP)

    来到机房刷了一道水(bian’tai)题.题目思想非常简单易懂(我的做法实际上参考了Evensgn 范学长,在此多谢范学长了) 题目摆上: 1044: [HAOI2008]木棍分割 Time Limi ...

  4. swift 之 纯代码创建 cell

    初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...

  5. lua-resty-websocket安装和测试

    作者:杨鑫奇 关注Openresty很久了,期待支持websocket终于出来了,看到Aapo Talvensaari同学写的文章https://medium.com/p/1778601c9e05,兴 ...

  6. javascript的列表切换

    演示地址:http://wjf444128852.github.io/demo/Carousel/index.html IE兼容性没处理,确切的说不太会,还望指点一二 思路: 1.js获取要给定点击事 ...

  7. WePayUI 快快尝鲜体验

    好久没有更新博客了... 时间真的很快~~~ 不废话了..干货会直接上~~~ WePayUI是什么 WePayUI 由微信支付为服务商和商户量身打造,用于快速制作符合微信支付规范的Web页面.WePa ...

  8. Mockito Hello World

    Mockito Hello World 项目配置 IDE是Intellij IDEA,用gradle配置项目. 新建一个Java项目,gradle中需要有这个:   repositories { jc ...

  9. iOS开发中的http浅析

      至于为什么要进行HTTP请求我就不说了.本文主要对HTTP协议做了一些介绍,主要针对网络编程和面试. 先从流程开始说起 APP <---> 服务器 <---> 后台​ 1) ...

  10. 自定义AlertDialog控件的使用(AndroidStudio)

    AlertDialog 第一种:可随意自定义控件 第一步:自定义弹出的页面 ,新建一个XML页面 如下图  不需要Activity 第二步:在主页面设置一个按钮弹出上图页面  (下面是主要代码  调用 ...