分类:
2007-01-07 22:31:35
可执行文件 doxygen
是原代码分析和生成文档的主要工具. 请看 章节来获取更详细的使用帮助.
Doxytag可执行文件---仅仅是用来实现帮助程序员生成不需要看原代码就能了解工程部署信息的
doxygen文档的参考
文档( 例如:那些使用doxygen生成的文档).请看 章节来获得更多的使用帮助.
doxywizard
可执行文件很容易就能使用,它是用来为doxygen工具提供配置信息的一个图形化工具.
下面的图显示了开发工具之间的相互关系信息:
图:Doxygen information flow
Doxygen使用一个配置文件来确定它所有的设置. 每个工程都应该有它自己的配置文件.
一个工程可以只有一个原文件, 也可以是工程中所有原文件的递归扫描得到的原文件的树状视图。
为了简化doxygen生成配置文件的工作, doxygen 可以为你提供一个模板化的配置文件.
1. 为了创建一个模板化的配置文件,只需要调用doxygen并从命令行中敲入-g
:
doxygen -g
其中 Doxyfile
的配置文件. 如果
2. 如果你使用 -
(例如:减号) 作为文件名doxygen将会把你从键盘输入的文字当作配置文件名。
配置文件有着和Makefile相似的格式.主要是:包含了很多的“标志”分配符格式 (tags):
例如:
TAGNAME = VALUE
or TAGNAME = VALUE1 VALUE2 ...
在生成文档模板时,你可以使用默认(即:保留大多数的TAGS)详细信息请看 这一章节来获取更多的信息.
如果你不想使用文本编辑工具来编写配置文件,你应该看看 章节的描述, 它是一个可以用来创建/读/写doxygen 配置文档的图形化工具,同时它也可以在路径中进行全路径配置来使doxygen正常工作。
3. 对于一个有很少的原文件和头文件组成的C/C++工程来说, 你可以保留 标志为“空” ,那么 doxygen 将会在当前路径下搜索原文件.
4. 如果你的工程很大,你应该把你的工程文件的“根目录”放在标志后面,需要添加到工程中的文件应该放到 标志之后(例如: *.cpp *.h
). 至少是匹配了1项的文件才能被doxygen程序读入并分析(如果省略了这项设置,则会使用doxygen配置列表中的格式).
5. 如果想要递归对原文件树进行分析必须设置RECURSIVE标志为 YES
.
6. 想在doxygen中使用更多的自定义规则进行分析,必须使用标志和 标志。
7. 想忽略所有的 test
路径下的文件,使用下面的形式:
EXCLUDE_PATTERNS = */test/*
8. 对于C/C++文件Doxygen通常直接进行分析。 如果文件有 .idl或
.odl
扩展名,则doxygen会把它视为 IDL文件。
8. 有.java
扩展名的将被视为Java文件.
9. 使用 .cs作为扩展名的文件将会
视为C# 文件.
10. 使用.php
, .php4扩展名的文件
和用.inc
或 .phtml
扩展名的文件将被视为PHP 原文件.
11. 如果你想用doxygen为已经存在的工程生成文档。你首先要想象一下你的工程文档最终使用什么样的格式排版,为了实现这样的目标,你必须要设置 标志为YES
. 然后,doxygen表现出来的是它知道了所有你的工程文件的配置目标。
注意:如果设置 标志为YES
。则:undocumented members 之类的警告将不会再产生。
12. 使用doxygen来分析一个现存的源代码的某个部分或全部文件可以更清晰的明白源代码各个功能模块的定义和要实现的功能以及它们之间的交叉参考。
13. 使用Doxygen 生成交叉参考必须设置 标志为 YES
。也可以直接通过设置 标志为 YES
来实现把工程的所有源代码包含进文档中。(这样方便了代码的通览).
To generate the documentation you can now enter:
doxygen
Doxygen 将会在输出路径中创建html
, rtf
, latex
和/或man
路径。 路径和路径中的文件格式是对应的HTML, RTF,
默认的路径是doxygen的安装路径。可以使用 , , , , 和标志来自定义配置文档的输出路径。如果输出路径不存在doxygen将会为你创建一个输出路径。
生成的 HTML 可以通过使用浏览器浏览位于html路径下的 index.html
文件. 如果浏览器支持层叠样式表 (CSS) 那就更棒了。
生成的 doxygen
在latex
路径下提供了一个Makefile
。在命令行latex路径下敲入
make
将会生成一个refman.dvi文件。
(假设你有一个文件叫做make
of course). 你可以通过使用xdvi命令来查看这个文件或者使用dvips把它转换成一个后缀是.ps的文件
refman.ps
。
想实现分成2页的效果可以使用make ps_2on1
命令。PostScript文件最终会被发送到PostScript打印机输出。如果你没有PostScript打印机,你可以使用ghostscript 命令把PostScript文件格式转换成你的打印机能够识别的文件格式。如果你已经安装了ghostscript 解释程序,那么可以把文件转换成 PDF格式,这只需要敲入make pdf
(或make pdf_2on1
)。
想生成PDF文件,你要把 标志设置成YES
。
产生的man页面文件可以通过man程序来进行查看。但是,你必须确定man路径有相应的环境变量设置 (一般在 MANPATH
环境变量中)。注意:man页面文件的格式有一些限制 ,所以有些信息(像:class图,交叉参考,公式等)将会丢失掉。
尽管源代码编制文档的被作为第3步,但是,在某些新的工程中,这个是作为第1步来做的。 这里,我假设你已经有了一些想用doxygen来对其进行文档化(描述API接口和作用)的源代码。
如 选项被设置成NO(默认情况下是NO )那么doxygen只会为已经文档化的成员,文件,类和命名空间生成文档。如果你的文档属于这种情况,该怎么办呢?对于成员,类和命名空间有2种基本的设置:
1.成员,类或命名空间的前面安排一个描述或定义的块儿。对于文件,类和命名空间成员来说,doxygen 允许直接在成员后面安排文档。你可以参考:
Special documentation blocks 了解更多特殊块儿的设置。
2. 想在任何地方部署特殊的文档块儿(任何的文件或任何的路径)和在文档块中添加一个“结构化”的命令。“结构化”的命令用来设置一个可被编制成文档的链接。 (e.g. a member, class, namespace or file)。请看:Documentation at other places 了解更多的结构化命令的使用方法。
文件只能使用上面2中的方法进行设置,因为没有办法把一个文档块儿放到一个文件的前面。
当然,文件成员(函数,变量,类型定义,define)不需要显示的使用“结构化”命令,只需要把特殊的文档块儿放到文件中的最前面或最后面就可以了。
文档内部的文档块儿在输出为HTML格式或其他格式输出文件之前进行doxygen的语法分析:
它其实是在进行下面的步骤前进行分析: