Doxygen使用教程(个人总结)
DOXYGEN代码文档生成工具的使用
本文档旨在介绍 doxygen 的使用及统一代码注释,编写出符合 doxygen 要求的良好的代 码注释风格,并可以利用 doxygen 生成代码文档,提高后续维护人员维护代码的难度,并提 高代码的可读性。
本文档为基于《郑州云涌嵌入式程序规范第一版.doc》,不涉及变量命名、缩进等要求, 仅涉及注释部分的格式,指出统一风格的 Doxygen 可识别的注释格式,作为其补充和修订。
* @details
* @param[in] RTCxRTC peripheral selected, should be LPC_RTC
* @param[in] NewState New State of this function, should be:
*
- ENABLE: The time counters are enabled
可以看到程序清单 4.1 中的注释比我们通常写的代码注释多了些以“ @”开头的标记, 正是这些标记告诉 Doxygen 如何提取文档以及如何组织文档结构的。下面对这段注释进 行解释。
4.1.1 有效注释 “ /**”表示要求 Doxygen 处理这段注释,否则如果写成“ /*”或“ /****” 之类这段注释就会被忽略掉。这样就可以控制哪些注释要出现在文档中供用户阅读,哪 些注释仅仅是给代码编写者或维护者阅读。 4.1.2 定义模块 第 2 行的“ @defgroup”表示定义一个模块,语法是“ @deup RTC 实时时钟”定义了一个名为“实时时钟”的模块。模块 id 为“RTC” 模块 ID 必须使用英文,这个 ID 的作用是区分不同模块,并可供其他模块或注释引用。 下面一行是对“ RTC”模块的说明。 4.1.3 加入到模块 第 7 行“ @ingroup RTC”表示把这个注释块加入到模块“RTC”中。 4.1.4 函数注释
Doxygen中文使用
Doxygen中⽂使⽤Doxygen中⽂使⽤以下对Doxygen的使⽤分为三个部分:⼀.⽣成基本的中⽂注释⽂档;⼆.添加函数关系调⽤图;三.⽣成全中⽂的chm⽂档。
⼀.⽣成基本的中⽂注释⽂档:(⼀) Wizard(1) Wizard->ProjectProject name:⽣成的Doxygen注释⽂档的名称;Project synopsis:⽣成的Doxygen注释⽂档的简介;Project version or id:注释⽂档版本号;Project logo:⽂档图标;Source code directory:代码路径,也就是需要⽣成注释⽂档的代码所在的⽂件夹;Destination directory:⽣成的注释⽂档存放的地⽅。
(2) Wizard->Mode若勾选上Include cross-referenced source code in output,则⽣成的Doxygen⽂档会包含相应头⽂件的源代码。
(3) Wizard->Outputplain HTML:⽣成平铺形式的页⾯;with navigation panel:⽣成带有左侧导航栏形式的页⾯;prepare for compressed HTML(.chm):准备⽣成chm⽂件。
(4) Wizard->Diagrams若不⽣成函数调⽤关系图,默认即可。
(⼆) Expert(1) Expert->Project在OUTPUT_LANGUAGE⼀栏中选择输出语⾔为Chinese。
(2) Expert->Input在INPUT_ENCODING⼀栏中,输⼊GB2312,这样对⽂档的注释才⽀持中⽂,否则中⽂注释将会是乱码。
在完成上诉配置后,在Run选项卡中点击Run doxygen,即可⽣成能够⽀持中⽂注释的⽂档。
⼆.填加函数关系调⽤图:(⼀) Expert->Dot勾选HAVE_DOT、CALL_GRAPH、CALLER_GRAPH选项,并在DOT_PATH中添加graphviz安装⽬录下的bin⽂件夹。
C++ doxygen讲解
模块定义(单独显示一页 )
模块定义格式:
/** * @defgroup 模块名 页的标题名 * @{ 跟c语言{一样起作用域功能. */ … 定义的内容 … /** @} */
模块名只能英文,这个可以随便取.在 一个源文件里不能相同.
例:
/** * @defgroup aa ebookmain.c * @{ */ … 定义的内容 … /** @} */
变量、宏定义、类型定义注释风格类似。 格式: /** 简要说明文字 */ 变量(宏定义或类型定义)
如: /** 简要说明文字 */ #define FLOAT float
/** „*/这是固定格式,还要注意/**这 2个“**”不能少也不能多。其他注释风 格也是这样的。
“@brief ”是注释指令, “@”也 可以用”\”.
武汉中心项目部培训
文档生成工具
Doxygen注释风格
Doxygen指令目的为了生成更丰富与可读性更强的文档。所 以总结5类常用的注释风格说明。
●变量、宏定义、类型定义。
●枚举类型定义、结构体类型定义类似。
●函数定义。 ●模块定义(单独显示一页
)。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
pre 指令操作符讲解
pre:指定函数前置条件指令操作符 pre格式如下: @pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
code、endcode指令操作符讲解
doxygen使用总结
doxygen使⽤总结doxygen[功能]为许多种语⾔编写的程序⽣成⽂档的⼯具。
[举例]*⽣成⼀个模板配置⽂件,模板⽂件中有详细的注释:$doxgen -g test这样,会⽣成⼀个test⽂件,1500多⾏,可以把这个⽂件做为模板编写配置⽂件。
如果之前有test那么会将原来的test备份为test.bak.模板⽂件的部分内容如下:...前⾯的内容省略...DOXYFILE_ENCODING = UTF-8# The PROJECT_NAME tag is a single word (or a sequence of words surrounded# by quotes) that should identify the project.PROJECT_NAME =# The PROJECT_NUMBER tag can be used to enter a project or revision number.# This could be handy for archiving the generated documentation or# if some version control system is used.PROJECT_NUMBER =# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)# base path where the generated documentation will be put.# If a relative path is entered, it will be relative to the location# where doxygen was started. If left blank the current directory will be used.OUTPUT_DIRECTORY =...后⾯的内容省略...*⽣成⼀个模板配置⽂件,模板⽂件中只有简单的注释:$doxygen -s -g test这⾥,我尝试并且⽐较过,如果使⽤⽣成的⽂件只200多⾏,⼏乎没有注释,只有⼏⾏分类的注释,去除了多余的注释。
Doxygen使用教程(个人总结)
简介Doxygen一.什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。
通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦.大部分有用的批注都是属于针对函式,类别等等的说明。
所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担.不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。
Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。
接着,他就可以帮您产生出漂亮的文档了。
因此,Doxygen 的使用可分为两大部分。
首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。
目前Doxygen可处理的程序语言包含:•C/C++•Java•IDL (Corba, Microsoft及KDE-DCOP类型)而可产生出来的文档格式有:•HTML•XML•LaTeX•RTF•Unix Man Page而其中还可衍生出不少其它格式。
HTML可以打包成CHM格式,而LaTeX可以透过一些工具产生出PS或是PDF文档。
二.安装Doxygen•1。
1 安装 Doxygen 1。
7。
4(Windows)•1。
2 安装 graphviz 2。
28。
0(Windows)graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。
•1。
3 安装 Windows Help Workshop 1。
32Doxygen 使用这个工具可以生成 CHM 格式的文档。
三.Doxygen的配置Doxygen 产生文档可以分为三个步骤.一是在程序代码中加上符合Doxygen所定义批注格式。
二是使用Doxywizard进行配置。
doxygen配置及使用手册
Doxygen安装及使用手册一简介Doxygen可以从C,C++,java等源代码中提取消息来生成帮助文档,API资料等二下载Doxygen以下,是在linux平台下的demo介绍。
http://www.stack.nl/~dimitri/doxygen/index.htmldoxyen主页去下载doxygen-1.5.5.src.tar.gz三 Doxygen安装安装doxygen-1.5.5.src.tar.gz1 把下载好的doxygen-1.5.5.src.tar.gz拷到自己想要的目录中,我放到了自己的Home目录下。
2 进入相应的目录:本例是在自己的home目录下3 解压#tar -zxvf doxygen-1.5.5.src.tar.gz会在当前目录下生成一个名字为doxygen-1.5.5的目录。
4 在自己的Home目录下建立一个doxygen目录,我们的doxygen以后就安装到这个目录下。
#mkdir doxygen5 进入doxygen-1.5.5目录#cd doxygen-1.5.56 安装:用—prefix选项制定安装目录为/home/lvq/doxygen,lvq为我的用户名,这里可以用~/doxygen代替。
#./configure –prefix ~/doxygen#make#make install这样在~/doxygen 目录就安装好了doxygen软件7 生成配置文件#cd ~/doxygen/bin/# ./doxygen –g 文件名执行这个命令后就会生成一个制定名字的配置文件,这里我们不加文件名,只用./doxygen –g 生成默认配置文件Doxyfile。
四如何使用DoxygenDoxygen可以从源代码中提取消息生成帮助文档,它是根据源代码中的特定注释来实现。
所以,首先要给工程代码书写符合Doxygen格式的注释。
1 以sipproxy小工程为例1)这个工程在/home/lvq/self/sipproxy1/sipproxy-v1.04/目录下。
linuxdoxygen使用说明
linuxdoxygen使用说明目录1.安装doxygen (2)2.配置Doxygen工作环境 (2)3.程序源码文档化 (3)4.程序文档生成 (4)5.Doygen 集成到codeBlocks (4)5.1配置步骤 (4)5.2使用: (4)1. 安装doxygen安装包doxygen-1.7.4.linux.bin.tar.gz命令:1)tar xvfz doxygen-1.7.4.linux.bin.tar.gz2)cd doxygen-1.7.43)./configure4)make5)make install安装后需留意下doxyg的路径,例如:/usr/bin/doxygen2. 配置Doxygen工作环境步骤:6)进入项目目录(test为例说明)cd test/7)生成配置文件Doxygen –g●默认生成的配置文件名为"Doxyfile",也可以采用"doxygen -g your-cfg-filename" 命令格式指定所生成的配置文件名。
如无特殊需要,采用默认的配置文件名即可。
●Doxyfile 文件内容非常多,大概1000 多行,不过其中约4/5 都是注释,每个配置选项都有一段详细的注释。
日后,如果对Doxygen 各配置选项的意义有一定了解,可以在生成配置文件的命令中添加"-s"选项,生成不含注释的配置文件,操作如下:$ doxygen -s -g3)配置文件的相应设置,这里已经有个模板Doxyfile(test文件夹下),可以根据需要更改相应设置# 项目名称,将作为于所生成的程序文档首页标题PROJECT_NAME = “Test# 文档版本号,可对应于项目版本号,譬如svn、cvs 所生成的项目版本号PROJECT_NUMBER = "1.0.0# 程序文档输出目录OUTPUT_DIRECTORY = doc/# 程序文档语言环境OUTPUT_LANGUAGE = Chinese# 如果是制作C 程序文档,该选项必须设为YES,否则默认生成C++ 文档格式OPTIMIZE_OUTPUT_FOR_C = YES# 对于使用typedef 定义的结构体、枚举、联合等数据类型,只按照typedef 定义的类型名进行文档化TYPEDEF_HIDES_STRUCT = YES# 在C++ 程序文档中,该值可以设置为NO,而在C 程序文档中,由于C 语言没有所谓的域/名字空间这样的概念,所以此处设置为YES HIDE_SCOPE_NAMES = YES# 让doxygen 静悄悄地为你生成文档,只有出现警告或错误时,才在终端输出提示信息QUIET = YES# 只对头文件中的文档化信息生成程序文档FILE_PATTERNS = *.h# 递归遍历当前目录的子目录,寻找被文档化的程序源文件RECURSIVE = YES# 示例程序目录EXAMPLE_PATH = example/# 示例程序的头文档(.h 文件) 与实现文档(.c 文件) 都作为程序文档化对象EXAMPLE_PATTERNS = *.c \*.h# 递归遍历示例程序目录的子目录,寻找被文档化的程序源文件EXAMPLE_RECURSIVE = YES# 允许程序文档中显示本文档化的函数相互调用关系REFERENCED_BY_RELATION = YESREFERENCES_RELATION = YESREFERENCES_LINK_SOURCE = YES# 不生成latex 格式的程序文档GENERATE_LATEX = NO# 在程序文档中允许以图例形式显示函数调用关系,前提是你已经安装了graphviz 软件包HAVE_DOT = YESCALL_GRAPH = YESCALLER_GRAPH = YES#让doxygen从配置文件所在的文件夹开始,递归地搜索所有的子目录及源文件RECURSIVE = YES#在最后生成的文档中,把所有的源代码包含在其中SOURCE BROWSER = YES$这会在HTML文档中,添加一个侧边栏,并以树状结构显示包、类、接口等的关系GENERATE TREEVIEW =ALL3. 程序源码文档化准备好Doxygen 的工作环境后,就需要根据Doxygen 所定义的注释规则,对程序源码进行文档化。
DOXYGEN简明实用教程
DOXYGEN 简明实用教程DOXYGEN 简明实用教程1.所有注释都可以使用III开始(C++风格)。
2•类体前必须加上///描述,否则会产生警告【Compound 类名is not documented】描述中最好不要带有此类的类名,否则会产生两个链接(但指向同一个文件)影响美观。
3.public 和protected 会自动生成,但是private 要在Expert 的Build 选项里勾中EXTRACT_PRIV ATE,static 成员也是如此。
4.函数注释方式III Constructor 【函数描述】III @param [in] pos The position of Camera in world coordinate 【参数描述 1 】III @param [in] lookat The point Camera looks at in world coordinate 【参数描述2】BaseCamera( const D3DXVECTOR3& pos, constD3DXVECTOR3& lookat );5. 变量注释方式D3DXVECTOR3 m_Position; I*!< Camera position point in world coordinate *I 或D3DXVECTOR3 m_Position; III< Camera position point in world coordinate两种方式产生的结果不同。
前者会单独产生一块Member DataDocumentation 注释,后者会在Pubilc/Protected/Private Attributes 变量描述后紧跟注释。
6.@参数和参数相同7.产生描述顺序和注释顺序相同,一般风格为lll 函数描述lll @param 参数描述lll @return 返回值描述lll @retval 返回值 1 返回值 1 描述lll @retval 返回值 2 返回值 2 描述lll @remarks 注意事项Ill @note 注意事项,功能同@remarks,显示字样不同/// @par 自定义图块,后面可跟示例代码之类Ill @code(必须使用@endcode结束)lll 示例代码(无需缩进)lll @endcodelll @see 其他参考项【产生指向参考的链接】函数代码声明8.特殊符号lll - 产生一个黑色圆点9.定义在类体里面的enumlll Camera typesenum CAMERA_TYPECAMERA_FIRST_VIEW,l*!< Camera that looks from thefirst view */CAMERA_MODEL_VIEW,///< Camera that looks from the third view};两种风格相同。
doxygen讲解
向导(Wizard)对话框----Output相关选项
生成普通模式的HTML 生成文件列表格的HTML
生成chm文件格式的HTML, 因此,就选这个.
附带查找功能,一般不选择. 这项没用到,因此把它选择 取消. 这三项不要选择
向导(Wizard)模式
向导(Wizard)对话框----Diagrams相关选项
注:不文档化局部变量,只文档化全局变量。
枚举类型定义、结构体类型定义
枚举类型定义、结构体类型定义注释风格类似。 格式: 类型:enum ,struct
/** 简要说明文字 */ typedef 类型 结构体名字 { 成员1, /**< 简要说明文字 */ 成员2, /**< 简要说明文字 */ 成员3, /**< 简要说明文字 */ }结构体别名;
专家(Expert)模式
专家(Expert)对话框----Dot相关选项
可以选上UML_LOOK、CALL_GRAPH和 CALLER_GRAPH。CALL_GRAPH是本函 数调用其它函数的示意图.效果如: 图3.
图3
Doxygen注释风格
Doxygen指令目的为了生成更丰富与可读性更强的 文档。所以总结5类常用的注释风格说明。
附带操作
为了方便运行Doxygen工具与管理.为每个模块创 建一文件夹(如:“TEST”),在TEST文件夹里再创建src、 doc文件夹。Src文件夹存放源文件,doc文件夹存放 Doxygen输出文件。顺便把doxygenWD.bat和Doxygen 配置文件“Doxyfile” 拷贝到doc文件夹下,如果要生 成文档就双击doxygenWD.bat即可。(模块的目录结构 TEST 如下 )
Doxygen 快速入门
Java有好用的JavaDoc文档生成工具,那么C++有没有呢?有,这就是大名鼎鼎的Doxygen,开源,功能强大,支持非常多的编程语言。
1.安装和配置首先下载Doxygen1.5.6,然后下载graphviz‐2.18,安装。
运行Doxywizard,开始配置。
单击Wizard按钮,会弹出对话框,输入项目名,这个名字会作为文档的大标题,输入版本,也会出现在文档中,然后输入源代码的根目录,勾选”Scan recursively”,输入文档输出路径。
如图1所示:图1单击Mode标签,不做任何改动,保持默认。
单击Output标签,去掉”LaTex”,选择“prepare for compressed HTML(.chm)”,因为输出chm比较方便,只有一个文件就包含所有文档,不向html会有一堆的文件。
如图2所示:图2单击Diagrams标签,如果已经安装了GraphViz,则保持默认,如果没安装,则选择“Use built‐in class diagram generator”就足够,如图3所示:图3点击OK,返回。
单击Expert按钮,会弹出一个有更多标签页的对话框,在"Project"标签页下,将OUTPUT_LANGUAGE设置为Chinese,因为我需要生成中文文档,如图4所示:图4单击"Input"标签,将INPUT_ENCODING保持默认的utf‐8,因为我用的是Visual Studio 源代码文件的编码默认就是utf‐8。
如图5所示:如果你有洁癖,你可以耐心的将FILE_PATTERNS下的后缀一个一个删掉(用记事本打开配置文件,搜索”FILE_PATTERNS”,一下可以删除一片,免去你点鼠标点到食指抽筋之苦),只留下*.h、*.hpp、*.c、和*.cpp等,意思是只扫描C++头文件和源文件,如图6所示:图6下拉滚动条,会有EXCLUDE和EXCLUDE_PATTERNS表示不要进行解析的目录和文件,即工程目录下有的目录不需要进行文档化(比如测试代码),就用这两个排除掉。
DOXYGEN代码文档生成工具的使用
DOXYGEN代码文档生成工具的使用
一、Doxygen介绍
Doxygen是一种使用C++编写的自由、开源的文档编译器,用于基于
源代码的文档生成。
Doxygen可以用来生成多种不同的文档格式,如HTML、LaTeX、PDF、PostScript、Man和RTF,可以自带功能,同时可以输出各
种类图、流程图、以及无数其他图表来帮助说明意图和定义。
二、Doxygen使用
Doxygen的配置文件是一个可在配置文件中设置不同参数的文本文件。
用户可以在其中设置不同的文档输出格式、文件类型、源文件路径、源文
件编码格式、对表达式的评估等参数,以控制Doxygen的输出文档。
Doxygen可以根据代码中的注释来生成文档,因此,要想使用Doxygen生成文档,代码中需要有完整的注释,包括文件简介、变量注释、函数注释和类注释等。
Doxygen主要由以下几部分组成:
(1)标准文档:由Doxygen管理的文档,用户可以在其中添加自己
的文档。
(2)源文件:存放源代码的文件夹,以及文件。
强大的Doxygen工具使用手册(中文帮助)
强⼤的Doxygen⼯具使⽤⼿册(中⽂帮助)张三:假如我们⾃⼰开发了⼀个类库,怎么做⼀个⽅便阅读的⽂档呢?李四:⼀个⽅法⼀个⽅法地写呗,就像写Excel⽂档⼀下。
张三:啊,你out了,这多慢呀。
为什么不玩玩doxygen⼯具,它能帮你⽣成⽂档?李四:这么爽,什么东东,给说讲讲。
1. Doxygen, what?Doxgen就是⼤名⿍⿍的⽂档⽣成⼯具,⽽且是免费开源的,它使⽤⾮常⽅便,能提取C++,Java,Objective-C,Python,IDL,PHP,C#等语⾔的注释,从⽽⽣成⽂档。
你可以访问其官⽅⽹站,下载安装包,它的官⽹上有详细的使⽤⼿册。
⽀持的主要语⾔格式Extension Language.idl IDL.ddl IDL.odl IDL.java Java.cs C#.c C.cpp C++可产⽣出来的⽂档格式有:HTMLXMLLaTeXRTFCHM要让⼯具能提取注释,那么就要求你写的注释要按照⼀定的规则来写,不能乱写,不然该⼯具是⽆法识别的,通常在Java中,只要JavaDoc能识别的,doxgen也能识别。
2. 安装Doxygen我们可以在这个⽹址去下载最新的安装包安装过程就不⽤说了,很简单,直接Next,最后Finish就OK了。
3. 配置Doxygen配置doxgen是最核⼼的,你可以设置你要提取注释的源⽂件,⽣成的⽂档格式,⼯程名称,⽂档的Logo等信息,这些配置是可以存储起来的,当你的源代码更新后,重新再运⾏这个配置⽂件,就可以重新⽣成⼀个新的⽂档。
在安装后,进⼊到其安装⽬录下的bin⽂件夹,它⾥⾯有两个⽂件:doxygen.exe和doxywizard.exe,我们先运⾏doxywizard.exe来进⾏配置,从⽽⽣成配置⽂件(如果是第⼀次运⾏)。
图1,Doxygen配置主界⾯。
1,Doxygen⼯作⽬录,就是⽤来存储配置⽂件的⽬录。
2,递归搜索⽬录需要选上。
图2,选择输出⽂档格式图3,⽣成类图图4,选择⽂档的编码格式。
doxygen的使用说明
Doxygen的使用说明一、安装Doxygen所需工具经我安装测试推荐如下软件版本:注:HTML Help Workshop工具要安装在这个路径“X:\Program Files\HTML Help Workshop”(X:自己指定)。
二、附带操作为了方便运行Doxygen工具与管理,为每个模块创建一文件夹,我将此文件夹命名为Test,在Test文件夹里再创建src和doc文件夹。
Src文件夹主要存放源文件,doc文件夹主要放置Doxygen输出文件。
注:Doxygen不支持中文路径,所以路径中不要出现中文字符。
三、配置DoxygenDoxygen中有很多详细的功能,很多是不需要的,因为我们接触的一般是C++和C所以我主要介绍Doxygen关于此两个方面的用法。
相关详细的配置教程网上有很多也很容易,所以这里就不再赘述,如下文件doxygen-1.8.6-setup\Test\doc\Doxyfile是我的一个配置文件,可以直接放到Test文件下的doc文件里,用户只需打开这个配置文件就完成了Doxygen的配置。
如果只为C和C++做注释时,只需修修改如下内容即可。
首先打开Doxygen,如下图所示:单击File项选择open,选择你将Doxyfile配置文件所放的路径,找到doxyfile配置文件,然后打开,你的Doxygen就完成了基本的配置,不过有几处需要修改,下面我详细介绍下:Project name:项目名称,将作为所生成的程序文档首页标题Project version or id:文档版本号和可对应项目版本号Source code directory:存放要生成项目文档的项目源文件路径,推荐放到已建立的Src文件里Destination directory:生成文档输出路径,我设置的是输出到桌面的output文件夹里,推荐放到已建立的doc文件夹里。
单击Mode选项,如图所示:如果只用到C++则不需改动,如用到其它语言则选择相应的选项。
自动生成帮助文档工具——Doxygen的使用示例(C++)
⾃动⽣成帮助⽂档⼯具——Doxygen的使⽤⽰例(C++)在项⽬中⽤了Doxygen来制作⽂档,记录备忘。
查了不少⽂章,主要使⽤⽅法及例⼦参考都是来⾃以下链接:使⽤步骤:⼀、安装内容1 安装 Doxygen(Windows)2 安装 graphviz(Windows) 因为项⽬⽐较⼩所以没有安装graphviz3 安装 Windows Help Workshop 要⽣成 CHM 格式的⽂档需安装⼆、配置Doxygen1 写的代码注释很多都是中⽂的,如果源码是GB2312格式,记得转为UTF-8格式。
直接输⼊GB2312格式没有尝试。
2 Export Label 下的HTML选项中,CHM_INDEX_ENCODING选项要使⽤GB2312,否则⽣成的CHM中会显⽰乱码。
(实际上在使⽤CHM 中的搜索功能时仍存在乱码,未解决)3 记住要添加 hhc.exe 的路径。
三、代码⽰例此⽰例在链接⽰例基础上修改,简单的注释变量、函数、类等基本够⽤了。
注释应该还有⼀些其他的功能,有时间需要深⼊了解⼀下。
PS:例如想插⼊⼀些调⽤函数的⽰例代码。
.h/*** @file** 此⽂件⽤于定义class example**@auther ...*////定义EXAMPLE_OK的宏为0#define EXAMPLE_OK 0/*** @brief 类的简短说明** 此类⽤于doxygen的使⽤说明**/class Example {private:///变量var1int var1;public:///变量var2int var2;///变量var3int var3;void ExFunc1(void);void int ExFunc2(int a,char b);char *ExFunc3(char *c);}View Code.cpp/*** @file** 此⽂件⽤于定义example class 的 * member function** @author ...*//*** @brief ExFunc1 的简易说明** ExFunc1没有任何参数及返回值*/void Example::ExFunc1(void){//code}/*** @brief ExFunc2 的简易说明** ExFunc2()传回两个参数相加的值 ** @param a ⽤来相加的参数* @param b ⽤来相加的参数* @return 传回两个参数相加的结果 */int Example::ExFunc2(int a,int b){return(a+b);}/*** @brief ExFunc3的简易说明** ExFunc3()只传回参数输⼊的指标。
doxygen markdown 语法
doxygen markdown 语法Doxygen是一款用于生成代码文档的工具,它支持多种编程语言,并且可以将代码注释自动转换为文档形式。
本文将详细介绍Doxygen 的Markdown语法,以帮助开发者更好地使用这一工具。
## 1. 概述Doxygen是一款强大的代码文档生成工具,它可以帮助开发者自动生成符合特定格式的代码文档。
Markdown语法是Doxygen所支持的一种注释格式,它可以将源代码中的注释自动转换为有序的文档结构。
下面将详细介绍Doxygen Markdown的使用方法。
## 2. 注释语法Doxygen Markdown的注释语法与常见的Markdown语法略有不同。
以下是几个常用的注释标记示例:### 2.1. @brief使用`@brief`标记可以简洁地描述函数或类的基本功能。
例如:```/*** @brief 计算两个整数的和* @param a 第一个整数* @param b 第二个整数* @return 两个整数的和*/int sum(int a, int b) {return a + b;}```### 2.2. @param使用`@param`标记可以描述函数的参数。
例如:```* @brief 计算两个整数的差* @param a 第一个整数* @param b 第二个整数* @return 两个整数的差*/int subtract(int a, int b) {return a - b;}```### 2.3. @return使用`@return`标记可以描述函数的返回值。
例如:```/*** @brief 计算两个整数的乘积* @param a 第一个整数* @param b 第二个整数* @return 两个整数的乘积*/int multiply(int a, int b) {return a * b;}```### 2.4. @code使用`@code`标记可以在文档中插入代码块。
[总结]doxygen的使用与CC++注释规范
[总结]doxygen的使⽤与CC++注释规范近期由于项⽬需要,参考⽹上资料整理了⼀下注释规范,详细内容如下:1. doxygen的安装与参数配置1.1. 安装$ sudo apt-get install doxygen以下可以选择安装$sudo apt-get install doxygen-doc doxygen-gui graphviztexpower dot2tex graphviz-doc texpower-examples1.2. ⽣成配置⽂件在 shell 提⽰上,输⼊命令 doxygen -g。
这个命令在当前⽬录中⽣成⼀个可编辑的配置⽂件 Doxyfile。
可以改变这个⽂件名,在这种情况下,应该调⽤ doxygen -g<user-specified file name>1.3. 修改配置参数l <OUTPUT_DIRECTORY>:必须在这⾥提供⼀个⽬录名,例如 /home/user1/documentation,这个⽬录是放置⽣成的⽂档⽂件的位置。
如果提供⼀个不存在的⽬录名,doxygen 会以这个名称创建具有适当⽤户权限的⽬录。
l <INPUT>:这个标记创建⼀个以空格分隔的所有⽬录的列表,这个列表包含需要⽣成⽂档的 C/C++ 源代码⽂件和头⽂件。
例如,请考虑以下代码⽚段:INPUT = /home/user1/project/kernel /home/user1/project/memory在这⾥,doxygen 会从这两个⽬录读取C/C++ 源代码。
如果项⽬只有⼀个源代码根⽬录,其中有多个⼦⽬录,那么只需指定根⽬录并把<RECURSIVE> 标记设置为 Yes。
l <FILE_PATTERNS>:在默认情况下,doxygen会搜索具有典型C/C++ 扩展名的⽂件,⽐如.c、.cc、.cpp、.h和.hpp。
如果<FILE_PATTERNS> 标记没有相关联的值,doxygen就会这样做。
doxygen的简要用法
Doxygen是基于GPL的开源项目,是一个非常优秀的文档系统,当前支持在大多数unix(包括linux),windows家族,Mac系统上运行,完全支持C++, C, Java, IDL(Corba和Microsoft 家族)语言,部分支持PHP和C#语言,输出格式包括HTML、latex、RTF、ps、PDF、压缩的HTML和unix manpage,Doxygen软件可以从这里下载,软件本身用法非常简单。
这里不做介绍,下面主要是代码中doxygen 的注释的写法的介绍。
1. 模块定义(单独显示一页)/** @defgroup 模块名模块的说明文字* @{*/… 定义的内容…/** @} */ // 模块结尾2. 分组定义(在一页内分组显示)/** @name 分组说明文字* @{*/… 定义的内容…/** @} */3. 变量、宏定义、类型定义简要说明/** 简要说明文字 */#define FLOAT float/** @brief 简要说明文字(在前面加 @brief 是标准格式) */#define MIN_UINT 0/** 分行的简要说明 \n* 这是第二行的简要说明*/int b;4. 函数说明/** 简要的函数说明文字* @param [in] param1 参数1说明* @param [out] param2 参数2说明* @return 返回值说明*/int func(int param1, int param2);/** 打开文件 \n* 文件打开成功后,必须使用 ::CloseFile 函数关闭。
* @param[in] file_name 文件名字符串* @param[in] file_mode 文件打开模式字符串,可以由以下几个模块组合而成:* – r 读取* – w 可写* – a 添加* – t 文本模式(不能与 b 联用)* – b 二进制模式(不能与 t 联用)* @return 返回文件编号* – -1 表示打开文件失败* @note 文件打开成功后,必须使用 ::CloseFile 函数关闭* @par 示例:* @code// 用文本只读方式打开文件int f = OpenFile(”d:\\test.txt”, “rt”);* @endcode* @see ::ReadFile ::WriteFile ::CloseFile* @deprecated 由于特殊的原因,这个函数可能会在将来的版本中取消。
代码文档工具Doxygen快速入门
广州周立功单片机科技有限公司类别 内容关键词Doxygen ;自动文档;在线文档;文档系统;注释语法;参考手册摘 要Doxygen 是一种开源跨平台的,以类似JavaDoc 风格描述的文档系统,完全支持C 、C++、Java 、Objective-C 和IDL 语言,部分支持PHP 、C#。
注释的语法与Qt-Doc 、KDoc 和JavaDoc 兼容。
Doxygen 可以从一套归档源文件开始,生成HTML 格式的在线类浏览器,或离线的LATEX 、RTF 参考手册。
本文通过“step by step ”方式对Doxygen 进行快速入门介绍修订历史版本日期原因V1.00 2012/07/04 创建文档销售与服务网络(一)广州周立功单片机科技有限公司地址:广州市天河北路689号光大银行大厦12楼F4 邮编:510630电话:(020)38730916 38730917 38730972 38730976 38730977 传真:(020)38730925 网址:新浪微博:ZLG-周立功(/ligongzhou )广州专卖店地址:广州市天河区新赛格电子城203-204室 电话:(020)87578634 87569917 传真:(020)87578842南京周立功地址:南京市珠江路280号珠江大厦1501室 电话:(025) 68123901 68123902 传真:(025) 68123900北京周立功地址:北京市海淀区知春路113号银网中心A 座1207-1208室 (中发电子市场斜对面) 电话:(010)62536178 62536179 82628073 传真:(010)82614433重庆周立功地址:重庆市石桥铺科园一路二号大西洋国际大厦(赛格电子市场)1611室 电话:(023)68796438 68796439 传真:(023)68796439杭州周立功地址:杭州市天目山路217号江南电子大厦502室 电话:(0571)89719480 89719481 89719482 89719483 89719484 89719485 传真:(0571)89719494成都周立功地址:成都市一环路南二段1号数码科技大厦403室电话:(028)85439836 85437446 传真:(028)85437896深圳周立功地址:深圳市福田区深南中路2072号电子大厦12楼电话:(0755)83781788(5线) 传真:(0755)83793285武汉周立功地址:武汉市洪山区广埠屯珞瑜路158号12128室(华中电脑数码市场)电话:(027)87168497 87168297 87168397 传真:(027)87163755上海周立功地址:上海市北京东路668号科技京城东楼12E 室电话:(021)53083452 53083453 53083496 传真:(021)53083491西安办事处地址:西安市长安北路54号太平洋大厦1201室 电话:(029)87881296 83063000 87881295 传真:(029)87880865厦门办事处E-mail :sales.xiamen@沈阳办事处E-mail :sales.shenyang@销售与服务网络(二)广州致远电子股份有限公司地址:广州市天河区车陂路黄洲工业区3栋2楼邮编:510660传真:(020)38601859网址:新浪微博:ZLG-周立功(/ligongzhou)技术支持:CAN-bus:电话:(020)22644381 22644382 22644253 邮箱:can.support@ iCAN及数据采集:电话:(020)28872344 22644373 邮箱:ican@MiniARM:电话:(020)28872684 28267813 邮箱:miniarm.support@ 以太网:电话:(020)22644380 22644385 邮箱:ethernet.support@无线通讯:电话:(020) 22644386 邮箱:wireless@ 串行通讯:电话:(020)28267800 22644385 邮箱:serial@编程器:电话:(020)22644371邮箱:programmer@ 分析仪器:电话:(020)22644375 邮箱:tools@ARM嵌入式系统:电话:(020) 22644383 22644384 邮箱:NXPARM@ 楼宇自动化:电话:(020)22644376 22644389 28267806 邮箱:mjs.support@mifare.support@销售:电话:(020)22644249 22644399 22644372 22644261 28872524 28872342 28872349 28872569 28872573 38601786维修:电话:(020)22644245目录1. 简介 (1)2. 安装 (2)3. 运行第一个示例 (3)3.1 打开图形向导Doxywizard (3)3.2 选择配置文件 (3)3.3 生成文档 (3)3.4 浏览文档 (4)4. 单模块简单示例 (5)4.1 编写注释 (5)4.1.1 有效注释 (6)4.1.2 定义模块 (6)4.1.3 加入到模块 (6)4.1.4 函数注释 (6)4.2 生成配置 (6)4.2.1 项目配置 (6)4.2.2 模式配置 (7)4.2.3 输出配置 (7)4.2.4 图表配置 (8)4.2.5 支持中文 (8)4.2.6 保存配置文件 (9)4.3 生成文档并浏览 (9)5. 多模块示例 (10)5.1 几个常用标记 (10)5.1.1 @addtogroup (10)5.1.2 @{和@} (10)5.1.3 成员注释 (10)5.2 多模块文档化 (11)5.2.1 DI模块文档化 (11)5.2.2 DO模块文档化 (13)5.2.3 生成文档 (15)6. 注释的书写建议 (16)6.1 注释原则 (16)6.2 对比示例 (16)7. 生成离线文档 (18)7.1 CHM格式 (18)7.1.1 生成CHM索引 (18)7.1.2 建立CHM工程 (18)7.1.3 编译CHM工程 (18)7.1.4 查看CHM文件 (18)7.2 RTF和word格式 (19)7.3 PDF格式 (19)8. FAQ (20)9. 免责声明 (21)1. 简介Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。
Doxygen源代码文档自动生成器的使用笔记
Doxygen 源代码文档自动生成器的使用笔记 在 google 上搜了很久的关于上搜了很久的关于 Doxygen 使用方法的咚咚,使用方法的咚咚,只不过都是英文,只不过都是英文,只不过都是英文,而而且都很多的规则。
实际上大家只需要告诉基本的规则就可以。
下面是我对 Doxygen 的摸索的摸索首先熟知首先熟知 Doxygen 产生的文件的基本结构产生的文件的基本结构 ( 以 Html 和 1.4.6 为例为例 ) Header (头部)(头部)MainPage Files Classes那么我们首先建立两个类吧,以典型的以典型的 Shape 和 它的继承类它的继承类 Rectangle 为例为例 (为了表示那些是我的解释约定(为了表示那些是我的解释约定 ~ 为解释符号为解释符号 其他的头文件和源文件的具体内容)内容)// shape.h~在这个头文件中首先要有一些关于本文件的一些信息或者公司的 copyright 信息 ~至于你想写什么,发挥你的创意把。
/** \file * <pre><b>Richard Zeng Shape Class File Source</b></pre>~ <pre></pre> 为居中显示* <pre><b>Copyright and Use</b></pre>* \author Richard Zeng* \date 2006-3-23~ \author 和 \date 是 Doxygen 的两个关键字 \author 为作者标题 \date 为日期标题* <pre>*********************</pre><b>All rights reserved.</b>*//** class shape define* this is the base class for all Shape*/~在Shape类定义的前面请加上解释,否则这个类就不会产生很重要的class Shape{public:Shape();~Shape();virtual void Draw(CDC* pDC);};// shape.cpp/** \file* <pre><b>Richard Zeng Shape Class File Source</b></pre> * <pre><b>Copyright and Use</b></pre>* \author Richard Zeng* \date 2006-3-23* <pre>*********************</pre><b>All rights reserved.</b>*/~上面的就不用说了吧#include"shape.h"~解释,随便你写什么都可以的~这里我们可以看出在CPP中加注释比较好~每个函数的实现都必须加上注释否则就没有这个函数拉/** default constructor*/Shape::Shape(){}/** destructor */Shape::~Shape(){}/** Draw funtion for this shape* \param CDC* pointer to MFC CDC*/~ \param 为Doxygen的关键字用于定义参数~ \return 为返回关键字void Shape::Draw(CDC* pDC){}//Rectangle.h/** \file __FILE__* <pre><b>Richard Zeng Shape Class File Source</b></pre> * <pre><b>Copyright and Use</b></pre>* \author Richard Zeng* \date 2006-3-23* <pre>*********************</pre><b>All rights reserved.</b>*/#include"shape.h"/** Rectangle class define*/public Shape{class Rectangle:Rectangle:publicpublic:Rectangle();~Rectangle();void Draw(CDC*pDC);private:int width,height;};//Rectangle.cpp/** \file __FILE__* <pre><b>Richard Zeng Shape Class File Source</b></pre> * <pre><b>Copyright and Use</b></pre>* \author Richard Zeng* \date 2006-3-23* <pre>*********************</pre><b>All rights reserved.</b>*//** default constructor */Rectangle::Rectangle(){}/** destructor */Rectangle::~Rectangle(){}/** Draw function* \param CDC* pointer to MFC CDC Class*/void Rectangle::Draw(CDC* pDC){}下面是下面是 Doxygen 的主要操作步骤的主要操作步骤首先我们在首先我们在 MainPage 中看到中看到 ProjectName 和 ProjectVersion (在(在 Doxygen Wizhard Step1 中输入就可以啦中输入就可以啦 )然后在然后在 Step2 中选择保存文件的位置中选择保存文件的位置 Step3 选择工作目录选择工作目录Step4 点击点击 Start 按钮,按钮, ok 完成。
doxygen讲解文档
Doxygen讲解文档为代码写注释一直是大多数程序员有些困扰的事情。
当前程序员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有答案。
更头痛的是写文档,以及维护文档的问题,开发人员通常可以忍受编写或者改动代码时编写或者修改对应的注释,但之后需要修正相应的文档却比较困难。
如果能从注释直接转化成文档,对开发人员无疑是一种福音。
而doxygen 就能把遵守某种格式的注释自动转化为对应的文档。
Doxygen是基于GPL的开源项目,是一个非常优秀的文档系统,当前支持在大多数unix(包括linux),windows家族,Mac系统上运行,完全支持C++, C, Java, IDL(Corba 和Microsoft 家族)语言,部分支持PHP和C#语言,输出格式包括HTML、latex、RTF、ps、PDF、压缩的HTML和unix manpage。
有很多开源项目(包括前两篇文章介绍的log4cpp 和CppUnit)都使用了doxygen文档系统。
而国内的开发人员却使用的不多,这里从开发人员使用的角度介绍这个工具,使开发人员用最少的代价尽快掌握这种技术,并结合这个工具探讨如何撰写注释的问题。
以下以linux下的C++语言为例进行介绍,以下讨论基于doxygen1.3.3。
样式表文件Orignl_doxygen.css、green_doxygen.css、yellow_doxygen.css、Blue_doxygen.css,改文件名为doxygen.css后,拷贝到生成html文档的目录内可以改变文档显示的样式。
1. doxygen使用步骤由于只是工具的使用,这里不介绍它的原理,直接从使用步骤开始。
Doxygen的使用步骤非常简单。
主要可以分为:1)第一次使用需要安装doxygen的程序doxygen的安装非常简单,linux下可以直接下载安装包运行即可,下载源代码编译安装也是比较通用的编译安装命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简介Doxygen一.什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。
通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。
大部分有用的批注都是属于针对函式,类别等等的说明。
所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。
不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。
Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。
接着,他就可以帮您产生出漂亮的文档了。
因此,Doxygen 的使用可分为两大部分。
首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。
目前Doxygen可处理的程序语言包含:∙C/C++∙Java∙IDL (Corba, Microsoft及KDE-DCOP类型)而可产生出来的文档格式有:∙HTML∙XML∙LaTeX∙RTF∙Unix Man Page而其中还可衍生出不少其它格式。
HTML可以打包成CHM格式,而LaTeX可以透过一些工具产生出PS或是PDF文档。
二.安装Doxygen∙ 1.1 安装 Doxygen 1.7.4(Windows)∙ 1.2 安装 graphviz 2.28.0(Windows)graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。
Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。
1.3 安装 Windows Help Workshop 1.32Doxygen 使用这个工具可以生成 CHM 格式的文档。
三.Doxygen的配置Doxygen 产生文档可以分为三个步骤。
一是在程序代码中加上符合Doxygen所定义批注格式。
二是使用Doxywizard进行配置。
三是使用Doxygen来产生批注文档。
Doxygen 1.7.4主界面如下图 1所示。
说明:1,Doxygen 工作目录,就是用来存放配置文件的目录。
2,递归搜索源文件目录需要选上。
选择wizard 标签下的Output Topics相关配置说明如下图 2所示。
相关配置说明如下图 3所示。
说明:如果选择这个选项之前需要先安装了 Graphviz 工具包。
选择 expert 标签下的 Project Topics相关配置说明如下图 4所示。
说明:编码格式,UT F-8是首选。
如果需要显示中文则选择GB2313.TAB_SI ZE主要是帮助文件中代码的缩进尺寸,譬如@c ode和@endcode段中代码的排版,建议设置成4。
OPTIMIZE_OUTPUT_FOR_C这个选项选择后,生成文档的一些描述性名称会发生变化,主要是符合C习惯。
如果是纯C代码,建议选择。
SU BGROUPING这个选项选择后,输出将会按类型分组。
选择 expert 标签下的 BuildBuild页面,这个页面是生成帮助信息中比较关键的配置页面:EXT RACT_ALL 表示:输出所有的函数,但是private和static函数不属于其管制。
EXT RACT_PRIVATE 表示:输出private函数。
EXT RACT_STATIC 表示:输出s tatic函数。
同时还有几个E XT RACT,相应查看文档即可。
HIDE_UNDOC_MEMBERS 表示:那些没有使用doxygen格式描述的文档(函数或类等)就不显示了。
当然,如果E XT RACT_ALL 被启用,那么这个标志其实是被忽略的。
INTERNAL_DOCS 主要指:是否输出注解中的@internal部分。
如果没有被启动,那么注解中所有的@internal部分都将在目标帮助中不可见。
CASE_SEN SE_NAMES 表示:是否关注大小写名称,注意,如果开启了,那么所有的名称都将被小写。
对于C/C++这种字母相关的语言来说,建议永远不要开启。
HIDE_SCOPE_NAMES 表示:域隐藏,建议永远不要开启。
SHO W_INCLUDE_FILES 表示:是否显示包含文件,如果开启,帮助中会专门生成一个页面,里面包含所有包含文件的列表。
INLINE_INFO:如果开启,那么在帮助文档中,inline函数前面会有一个inline修饰词来标明。
SORT_MEMBER_DOCS :如果开启,那么在帮助文档列表显示的时候,函数名称会排序,否则按照解释的顺序显示。
GENE RATE_TODOLIST:是否生成TODOLIST页面,如果开启,那么包含在@todo注解中的内容将会单独生成并显示在一个页面中,其他的GENE RATE选项同。
SHO W_USED_FILES :是否在函数或类等的帮助中,最下面显示函数或类的来源文件。
SHO W_FILE S :是否显示文件列表页面,如果开启,那么帮助中会存在一个一个文件列表索引页面。
选择 expert 标签下的 Input Topics相关配置说明如下图 5所示。
说明:输入的源文件的编码,要与源文件的编码格式相同。
如果源文件不是U TF-8编码最好转一下。
选择 expert 标签下的 HTML Topics相关配置说明如下图 6所示。
说明:1,CHM_FILE文件名需要加上后缀(xx.c hm)。
2,如果在 Wizard 的 O utput Topics中选择了 prepare for c ompressed HTML (.c hm)选项,此处就会要求选择 hhc.e xe 程序的位置。
在 windows help works hop 安装目录下可以找到 hhc.exe。
3,为了解决DoxyGen生成的CHM文件的左边树目录的中文变成了乱码,CHM_INDEX_ENCODING中输入GB2312即可。
4,GENERATE_CHI表示索引文件是否单独输出,建议关闭。
否则每次生成两个文件,比较麻烦。
5,TOC_EXPAND 表示是否在索引中列举成员名称以及分组(譬如函数,枚举)名称。
选择 Run 标签相关配置说明如下图 7所示。
点击 Run doxygen 按钮, Doxygen 就会从源代码中抓取符合规范的注释生成你定制的格式的文档。
四.撰写正确格式的批注并非所有程序代码中的批注都会被Doxygen 所处理。
您必需依照正确的格式撰写。
原则上,Doxygen 仅处理与程序结构相关的批注,如Function,Class ,档案的批注等。
对于Function内部的批注则不做处理。
Doxygen可处理下面几种类型的批注。
JavaDoc类型:/*** ... 批注 ...*/Qt类型:/*!* ... 批注 ...*/单行型式的批注:/// ... 批注 ...或//! ... 批注 ...要使用哪种型态完全看自己的喜好。
以笔者自己来说,大范围的注解我会使用JavaDoc 型的。
单行的批注则使用"///" 的类型。
此外,由于Doxygen 对于批注是视为在解释后面的程序代码。
也就是说,任何一个批注都是在说明其后的程序代码。
如果要批注前面的程式码则需用下面格式的批注符号。
/*!< ... 批注 ... *//**< ... 批注 ... *///!< ... 批注 ...///< ... 批注 ...上面这个方式并不适用于任何地方,只能用在class 的member或是function的参数上。
举例来说,若我们有下面这样的class。
class MyClass {public:int member1 ;int member2:void member_function();};加上批注后,就变成这样:/*** 我的自订类别说明 ...*/class MyClass {public:int member1 ; ///< 第一个member说明 ...int member2: ///< 第二个member说明 ...int member_function(int a, int b);};/*** 自订类别的member_funtion说明 ...** @param a 参数a的说明* @param b 参数b的说明** @return 传回a+b。
*/int MyClass::member_function( int a, int b ){return a+b ;}当您使用Doxygen 产生说明文档时,Doxygen 会帮您parsing 您的程式码。
并且依据程序结构建立对应的文件。
然后再将您的批注,依据其位置套入于正确的地方。
您可能已经注意到,除了一般文字说明外,还有一些其它特别的指令,像是@param及@return 等。
这正是Doxygen 另外一个重要的部分,因为一个类别或是函式其实都有固定几个要说明的部分。
为了让Doxygen 能够判断,所有我们就必需使用这些指令,来告诉Doxygen 后面的批注是在说明什么东西。
Doxygen 在处理时,就会帮您把这些部分做特别的处理或是排版。
甚至是制作参考连结。
首先,我们先说明在Doxygen 中对于类别或是函数批注的一个特定格式。
/*** class或function的简易说明...** class或function的详细说明...* ...*/上面这个例子要说的是,在Doxygen 处理一个class 或是function注解时,会先判断第一行为简易说明。
这个简易说明将一直到空一行的出现。
或是遇到第一个"." 为止。
之后的批注将会被视为详细说明。
两者的差异在于Doxygen 在某些地方只会显示简易说明,而不显示详细说明。
如:class 或function的列表。
另一种比较清楚的方式是指定@brief的指令。
这将会明确的告诉Doxygen,何者是简易说明。
例如:/*** @brief class或function的简易说明...** class或function的详细说明...* ...*/除了这个class 及function外,Doxygen 也可针对档案做说明,条件是该批注需置于档案的前面。
主要也是利用一些指令,通常这部分注解都会放在档案的开始地方。
如:/*! \file myfile.h\brief 档案简易说明详细说明.\author 作者信息*/如您所见,档案批注约略格式如上,请别被"\" 所搞混。
其实,"\" 与"@" 都是一样的,都是告诉Doxygen 后面是一个指令。