Doxygen详细介绍
来源:互联网 发布:大闸蟹品牌 知乎 编辑:程序博客网 时间:2024/06/06 16:40
1 序言
2 Doxygen及相关工具的下载
4 Doxygen配置文件
4.1 生成Doxygen配置文件
运行Doxywizard创建配置文件。
可以直接点“Save...”按钮,将保存默认的配置文件,名为Doxyfile,内容是Doxygen的默认设置。Doxyfile是普通文本文件,我们可以直接打开手动编辑。不过在Doxywizard的界面上填写也很方便,每个参数都有详细提示。建议用Doxywizard完成第一次设置。以后如果需要调整个别参数,可以直接编辑Doxyfile。
上述Doxywizard界面中提供了生成Doxygen文档的4个步骤,按照上述步骤一步步执行就可以生成漂亮的文档了。
第一步是生成配置文件,提供三种方式,Wizard方式指简约方式,在其中只提供一些重要的参数设置,其余的均为默认值;Expert方式为详细设置方式,通过该选项可以详细地配置Doxygen的各个配置项;最后一种是Load方式,用于导入以前生成的Doxygen配置文件,导入后可以再点击Expert进行修改。
4.2 配置选项含义详解
在上述界面中点击Expert按钮,或者用文本方式打开Doxyfile文件,可以看到Doxygen的参数配置项特别多,各个参数的含义其实也并不难掌握,在Doxygen的帮助手册中有详细的介绍,下面我介绍一些常用的参数含义,其余的参数大多可以设置为默认值。
DOXYFILE_ENCODING
Doxygen文件的编码方式,默认为UTF-8,若希望支持中文,最好设置为 GB2312
PROJECT_NAME
Project 的名字,以一个单词为主,多个单词请使用双引号括住。
PROJECT_VERSION
Project的版本号码。
OUTPUT_DIRECTORY
输出路径。产生的文件会放在这个路径之下。如果没有填这个路径,将会以目前所在路径作为输出路径。
OUTPUT_LANGUAGE
输出语言, 默认为English 。
EXTRACT_ALL
为NO,只解释有doxygen格式注释的代码;为YES,解析所有代码,即使没有注释
EXTRACT_PRIVATE
是否解析类的私有成员
EXTRACT_STATIC
是否解析静态项
EXTRACT_LOCAL_CLASSES
是否解析源文件(cpp文件)中定义的类
INPUT
指定加载或找寻要处理的程序代码文件路径。这边是一个表列式的型态。并且可指定档案及路径。
FILE_PATTERNS
如果您的INPUT Tag 中指定了目录。您可以透过这个Tag来要求Doxygen在处理时,只针对特定的档案进行动作。例如:您希望对目录下的扩展名为.c, .cpp及.h的档案作处理。您可设定FILE_PATTERNS = *.c, *.cpp, *.h。
RECURSIVE
这是一个布尔值的Tag,只接受YES或NO。当设定为YES时,INPUT所指定目录的所有子目录都会被处理.
EXCLUDE
如果您有某几个特定档案或是目录,不希望经过Doxygen处理。您可在这个Tag中指定。
EXCLUDE_PATTERNS
类似于FILE_PATTERNS的用法,只是这个Tag是供EXCLUDE所使用。
SOURCE_BROWSER
如果设定为YES,则Doxygen会产生出源文件的列表,以供查阅。
INLINE_SOURCES
如果设定为YES ,则函数和类的实现代码被包含在文档中
ALPHABETICAL_INDEX
如果设定为YES,则一个依照字母排序的列表会加入在产生的文件中。(有很多类、结构等项时建议设为YES)
GENERATE_HTML
若设定为YES ,就会产生HTML版本的说明文件。HTML文件是Doxygen预设产生的格式之一。
HTML_OUTPUT
HTML文件的输出目录。这是一个相对路径,所以实际的路径为OUTPUT_DIRECTORY加上HTML_OUTPUT。这个设定预设为html。
GENERATE_HTMLHELP
是否生成压缩HTML格式文档(.chm)
HTML_FILE_EXTENSION
HTML文件的扩展名。预设为.html。
HTML_HEADER
要使用在每一页HTML文件中的Header。如果没有指定,Doxygen会使用自己预设的Header。
HTML_FOOTER
要使用在每一页HTML文件中的Footer。如果没有指定,Doxygen会使用自己预设的Footer。
HTML_STYLESHEET
您可给定一个CSS 的设定,让HTML的输出结果更完美。
GENERATE_HTMLHELP
如设定为YES,Doxygen会产生一个索引文件。这个索引文件在您需要制作windows 上的HTML格式的HELP档案时会用的上。
GENERATE_TREEVIEW
若设定为YES,Doxygen会帮您产生一个树状结构,在画面左侧。这个树状结构是以JavaScript所写成。所以需要新版的Browser才能正确显示。
TREEVIEW_WIDTH
用来设定树状结构在画面上的宽度。
GENERATE_LATEX
设定为YES 时,会产生LaTeX 的文件。不过您的系统必需要有安装LaTeX 的相关工具。
LATEX_OUTPUT
LaTeX文件的输出目录,与HTML_OUTPUT用法相同,一样是指在OUTPUT_DIRECTORY之下的路径。预设为latex。
LATEX_CMD_NAME
LaTeX程序的命令名称及档案所在。预设为latex。
GENERATE_RTF
若设定为YES ,则会产生RTF 格式的说明档。
RTF_OUTPUT
与HTML_OUTPUT 用法相同,用来指定RTF 输出档案路径。预设为rtf。
GENERATE_MAN
若设定为YES ,则会产生Unix Man Page 格式的说明文件。
MAN_OUTPUT
与HTML_OUTPUT 用法相同,用来指定Man Page的输出目录。预设为man。
GENERATE_XML
若设定为YES ,则会产生XML 格式的说明文件。
ENABLE_PREPROCESSING
若设定为YES ,则Doxygen 会激活C 的前置处理器来处理原始档。
PREDEFINED
可以让您自行定义一些宏。类似于gcc 中的-D选项。
CLASS_DIAGRAMS
这个标记用来生成类继承层次结构图。要想生成更好的视图,可以从 Graphviz 下载站点 下载 dot 工具。Doxyfile 中的以下标记用来生成图表:
HAVE_DOT
如果这个标记设置为 Yes,doxygen 就使用 dot 工具生成更强大的图形,比如帮助理解类成员及其数据结构的协作图。注意,如果这个标记设置为 Yes,<CLASS_DIAGRAMS> 标记就无效了
CLASS_GRAPH
如果 <HAVE_DOT> 标记和这个标记同时设置为 Yes,就使用 dot 生成继承层次结构图
GRAPHICAL_HIERARCHY
设置为YES时,将会绘制一个图形表示的类图结构
上面的表格只是描述了一些常用的配置,需要更加详细的信息请参考Doxygen的帮助手册。
5 Doxygen的注释风格
5.1 综述
1) 文件头(包括.h和.cpp)
主要用于声明版权,描述本文件实现的功能,以及文件版本信息等
2) 类的定义
主要用于描述该类的功能,同时也可以包含使用方法或者注意事项的简要描述
3) 类的成员变量定义
在类的成员变量上方,对该成员变量进行简要地描述
4) 类的成员函数定义
在类定义的成员函数上方,对该成员函数功能进行简要描述
5) 函数的实现在函数的实现代码处,详细描述函数的功能、参数的含义、返回值的含义、使用本函数需要注意的问题、本函数使用其他类或函数的说明等
5.2 Doxygen支持的指令
5.2.1 概述
5.2.2 常用指令介绍
@brief
本函数负责打印错误信息串
@retval NULL
空字符串。
@retval !NULL
非空字符串。
5.3 JavaDoc风格的注释
5.3.1 概述
- /** description
- * description
- * description
- */
5.3.2 简述与详述的方式
- /*! @brief Brief description.
- * description continued.
- *
- * Detailed description starts here.
- */
2) 直接使用javaDoc风格,javaDoc风格自动以简述开头,以空行(或者小数点加空格)作为简述与详述的分割
- /** Brief description
- * description continued
- *
- * Detailed description starts here.
- */
- /** Brief description
- * description continued . (注意:这里有一个小数点,加上一个空格)
- * Detailed description starts here.
- */
5.3.3 文件头注释示例
5.3.4 类定义注释示例
- /** 本类的功能:打印错误信息
- *
- * 本类是一个单件
- * 在程序中需要进行错误信息打印的地方
- */
- class CPrintError
- {
- ……
- }
5.3.5 类成员变量定义示例
- /// 成员变量描述
- int m_Var;
- int m_color; /// 颜色变量
5.4.7 成员函数的注释示例
- /// 下面是一个含有两个参数的函数的注释说明(简述)
- ///
- /// 这里写该函数的详述信息
- /// @param a 被测试的变量(param描述参数)
- /// @param s 指向描述测试信息的字符串
- /// @return 测试结果 (return描述返回值)
- /// @see Test() (本函数参考其它的相关的函数,这里作一个链接)
- /// @note (note描述需要注意的问题)
- int testMe(int a,const char *s);
5.4.8 枚举变量的注释示例
- /// 颜色的枚举定义
- ///
- /// 该枚举定义了系统中需要用到的颜色\n
- /// 可以使用该枚举作为系统中颜色的标识
- enum TEnum
- {
- RED, ///< 枚举,标识红色
- BLUE, ///< 枚举,标志蓝色
- YELLOW ///< 枚举,标志黄色.
- }enumVar;
5.5 需要注意的问题
6 Doxygen使用的常见问题小结
6.1 中文问题:中文注释在文档中是乱码
6.2 图形问题:无法绘制类图协作图等图形。
6.3 输出chm的问题:如何输出.chm文件
6.4 Doxygen无法为DLL中定义的类 导出文档
- Doxygen 详细介绍
- Doxygen详细介绍
- Doxygen详细介绍
- Doxygen详细介绍
- Doxygen详细介绍
- Doxygen详细介绍
- Doxygen详细介绍
- Doxygen详细介绍(三)(Doxygen注释风格)
- Doxygen介绍
- Doxygen使用指南,Doxygen介绍一
- Doxygen的介绍和使用
- C++ 文档生成器介绍(doxygen)
- Doxygen开源工具介绍
- 用doxygen自动生成详细设计文档
- Doxygen
- Doxygen
- Doxygen
- Doxygen
- Android 服务中显示Notification失败。
- 事件分发机制
- NSUserDefaults 相关
- CABasicAnimation动画和调用系统声音
- java注解大概
- Doxygen详细介绍
- .Net执行cmd获取系统信息
- 社説 20150427 装備の長期契約 防衛力増強へ効率化の徹底を
- J2EE基础教程1--简介
- jsp中文编码问题
- 关于Ext3.2的自动刷新功能
- hdu 1878 欧拉回路 水题。测试数据貌似有点问题
- 社説 20150427 統一地方選終了 無投票は民主主義を脅かす
- linux笔记——分割大文件