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. Using Nuget in Visual Studio 2005 & 2008

    NuGet is a Visual Studio extension that makes it easy to install and update third-party libraries an ...

  2. NetCore 阿里大于发送短信

    使用阿里大于API发送短信,但阿里没有提供NetCore 的API,自己看了下源码重写了发短信这个部分 public class MessageSender { private readonly st ...

  3. Redis修改数据多线程并发—Redis并发锁

    本文版权归博客园和作者本人吴双共同所有 .转载爬虫请注明地址,博客园蜗牛 http://www.cnblogs.com/tdws/p/5712835.html 蜗牛Redis系列文章目录http:// ...

  4. 基于python编写的天气抓取程序

    以前一直使用中国天气网的天气预报组件都挺好,可是自从他们升级组件后数据加载变得非常不稳定,因为JS的阻塞常常导致网站打开速度很慢.为了解决这个问题决定现学现用python编写一个抓取程序,每天定时抓取 ...

  5. jquery制作论坛或社交网站的每天打卡签到特效

    效果:http://hovertree.com/texiao/jquery/50/ 现在许多社区,购物等网站都设置签到功能,打开可以收获经验.虚拟币等,提高用户粘性,增加浏览量,是一个不错的功能.本文 ...

  6. Objective-c的@property(atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter) 属性特性

    assign:指定setter方法用简单的赋值,这是默认操作.你可以对标量类型(如int)使用这个属性.你可以想象一个float,它不是一个对象,所以它不能retain.copy. retain:指定 ...

  7. 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面

    SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    图形显示接口的作用 用于显示采集终端设备的数据,可以把不同类型设备的数据以多种形式集成显示在不 ...

  8. 使用MyEclipse 开发struts2框架结构详细教程——以登录为例

    1.首先建立Web Project,名称为:struts2 ,然后选择Java EE6.0,点击Finish. 2.右击“struts”选择MyEclipse->Add Struts Capab ...

  9. Quartz.net配置文件实例及cron表达式详解

    从XML文件创建作业 最新版本的quartz.net支持直接从xml文件创建作业,使用起来很方便.配置文件的格式可以参考下面的例子 <?xml version="1.0" e ...

  10. Put your application in production

    Here some simple tips to optimize your application for production. Configure your application.conf F ...