doxygen 解析支持的标签规范

合集下载

doxygen注释规则

doxygen注释规则

Doxygen注释规则1. 简介Doxygen是一种文档生成工具,能从源代码中提取结构、关系等信息,并生成API文档。

Doxygen可以对C、C++、Java、Python等语言的代码进行注释,帮助开发者理解复杂的代码结构和函数之间的关系。

本文档将详细介绍Doxygen的注释规则,以帮助开发者更有效的使用该工具。

2. 文件注释Doxygen支持在每个源文件中添加一个全局的文件注释。

这个注释会被Doxygen用来生成目录页。

格式如下:/*** @file example.cpp* @brief Example description* @author Your Name* @date Date of creation* @version V1.0* @brief This is a brief description of the file.*/3. 类和结构体注释对于类和结构体,Doxygen需要使用`@class`或`@struct`命令。

同时,也需要提供类的简短描述和详细描述。

格式如下:/*** @class MyClass* @brief A brief description of MyClass.* Detailed description...*/4. 类成员变量和函数注释对于类的成员变量和函数,Doxygen使用`@var`、`@member`、`@param`、`@return`等命令。

这些命令后面都需要接上描述信息。

格式如下:/*** @var int myVar This is a variable description.* @member void MyClass::myFunction() This is a function description.* @param int x This is a parameter description.* @return int This is a return value description.*/5. 特殊注释标签Doxygen还提供了一些特殊的注释标签,如`@todo`、`@bug`、`@deprecated`等,用于标记代码的特殊状态。

C++ doxygen讲解

C++ doxygen讲解
●变量、宏定义、类型定义。
●枚举类型定义、结构体类型定义类似。
●函数定义。 ●模块定义(单独显示一页
)。 ●分组定义(在一页内分组显示)。
变量、宏定义、类型定义简要说明
变量、宏定义、类型定义注释风格类似。 格式: /** 简要说明文字 */ 变量(宏定义或类型定义)
如: /** 简要说明文字 */ #define FLOAT float
pre 指令操作符讲解
pre:指定函数前置条件指令操作符 pre格式如下: @pre 简要说明
例: /** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 * @pre file 变量必须使用OpenFile 返回值 */ int CloseFile(int file);
retval指令操作符讲解
retval:指定函数返回值说明指令操作符。(注:更前面的return有点不同.这里是返回值说明) retval格式如下: @retval 返回值 简要说明 例:
/** *文件关闭函数 * @param file文件编号。 * @retval 0 表示成功 * @retval -1 表示失败 */ int CloseFile(int file);
“\n”作用是回车换行.
注:不文档化局部变量,只文档化全局变量。
枚举类型定义、结构体类型定义
枚举类型定义、结构体类型定义注释风格类似。 格式:
/** 简要说明文字 */ typedef 类型 结构体名字 { 成员1, /**< 简要说明文字 */ 成员2, /**< 简要说明文字 */ 成员3, /**< 简要说明文字 */ }结构体别名;
see指令操作符讲解

doxygen格式进行函数注释的格式

doxygen格式进行函数注释的格式

doxygen格式进行函数注释的格式一、引言在软件开发过程中,良好的代码注释是非常重要的,它能够帮助开发者理解代码逻辑、提高代码可读性,并方便后续的维护和修改。

而d o xy ge n是一种用于生成软件文档的工具,它支持多种编程语言,并且提供了一套注释格式规范,能够方便地生成代码文档。

二、什么是d o x y g e nd o xy ge n是一款开源的软件文档生成工具,它支持C、C++、J av a等多种编程语言,能够根据代码中的注释生成详细的文档内容。

通过d o xy ge n生成的文档,可以包含函数、类、结构体的详细说明,以及函数的参数、返回值等相关信息。

三、函数注释的格式在d ox yg en中,函数注释的格式规范是非常重要的,它能够决定最终生成的文档内容的结构和格式。

下面是一些常用的函数注释格式:1.函数说明/***@br ie f函数功能说明*@pa ra m参数1参数1的说明*@pa ra m参数2参数2的说明*@re tu rn返回值的说明*/在函数注释的第一行可以使用`@br ie f`标签来说明函数的功能,后续可以使用`@pa ra m`标签来说明函数的参数,使用`@re tu rn`标签来说明函数的返回值。

2.参数说明/***@pa ra m参数1参数1的说明*@pa ra m参数2参数2的说明*/在函数注释中,使用`@pa ra m`标签来说明函数的参数,可以对每个参数进行详细的说明。

3.返回值说明/***@re tu rn返回值的说明*/使用`@re tu rn`标签来说明函数的返回值,可以对返回值的含义进行说明。

四、示例下面是一个示例函数的注释格式:/***@br ie f计算两个整数的和*@pa ra ma第一个整数*@pa ra mb第二个整数*@re tu rn两个整数的和*/i n ta dd(i nt a,in tb){r e tu rn a+b;}通过以上的注释格式,我们在生成文档时就能够清晰地了解函数的功能、参数和返回值。

Doxygen注释常用标记

Doxygen注释常用标记

Doxygen注释常用标记Doxygen的常用注释标记,通过这些标记,可生成规范化的代码文档;也可以帮助我们管理代码。

这些标记都是写在注释块中的,详见随邮件的例子(_common/obj.h)。

说明类型:分为摘要说明和详细说明/brief 后紧跟摘要说明,也可以直接使用“//!”开始注释。

详细说明:在摘要说明后,间隔一行书写,见实例。

基本结构的说明标记:/file [file name] 写文件的说明,后跟此文件的文件名;另起一行书写此文件的说明文字。

/class [class name] 写类的说明,后跟类名;另起一行书写类的说明文字。

用于函数内部的说明标记:这些标记会在函数的详细说明中使用不同的字体和格式,突出显示。

/param [param name] 写函数参数的说明,后跟参数名;紧跟参数的说明文字。

/return 写函数返回值得说明,后紧跟返回值得说明。

/warning 警告,后紧跟警告的内容。

/remarks 评论,后紧跟评论的内容。

可单独生成主题的说明标记:/todo 被此标记说明的代码会在T odo列表中出现。

/bug 被此标记说明的代码会在Bug列表中出现。

/test 被此标记说明的代码会在Test列表中出现。

/deprecated 被此标记说明的代码会在deprecated列表中出现。

/defgroup [group name] [brief] 定义一个代码块,可对代码块写说明;注意group name必须是唯一的;另起一行写详细说明/{ 代码块开始/} 代码块技术格式化说明标记:- 主题-# 子标题1/n说明-# 子标题2/n说明生成文档中可显示为编号的列表注意:在注释中,可完全使用html格式化标记。

以上是常用的标记的简要说明;还是建议大家看doxygen的文档来熟悉一下。

clion doxygen注释规范

clion doxygen注释规范

clion doxygen注释规范
文件注释
/**
*@file文件名*@brief概述
*详细概述
*
*@author作者,包含email等
*@version版本号(maj.min,主版本.分版本格式)
*@data日期
*/
命名空间的注释
//@brief简单概述
//
//详细概述
类定义注释
对需要的类增加注释,需要说明类的设计方法,类的使用指南,说明类的不变项
//@brief 简要概述
1//
//详细说明
//
//使用指南设计函数调用可以@ref函数名用于引用其他的说明1// //其他说明,重写父类函数加以特殊实现
/l//
//@invariant 类不变项,例如哪些值不会超多少多少1//
class xxx
数据声明注释
行尾说明
Type varName;//<说明多行说明
/说明///1//
Type varName;函数注释规范
//@brief 简单概述
1//
//详细说明
//@param[inlout]参数名,in,out表示输入还是
///@pre前者条件
///@return 说明
/@retval 返回值说明,这个是可选的///@post 说明函数完成后的世界状态代码标记数值规范
//@todo将要做的代码
//@bug表示此处的bug描述。

doxygen参考

doxygen参考
Doxygen 的处理流程
图 1 是 Doxygen 网站上给出的 Doxygen 处理工具以及它们之间的信息流。
从图中可以看出,Doxygen 可执行程序位于正中,所有的流程都围绕着它进 行。左侧图标表示 Doxygen 的输入可以是源文件,或者是定制的头文件、图像、 注解等。Doxygen 图标上部是配置文件,由 Doxywizard 处理,下部是 Tag 文件, 由 Doxytag 处理。后面是 Doxygen 输出文件的类型,依次是 XML、Latex、Man pages、 RTF 和 HTML,可处理类型图标之后是进行进一步转换所需的工具。
分组
Doxygen 有两种分组机制。第一种是全局地为每一个组创建一个网页,此时 分组被称为"module";第二种是用于复合实体中的成员列表,此时分组被 称为 "member group"。Module 是一种把内容在单个网页上分组的方法。分组可以包 括 files,namespace,classes,functions,variables,enums,typedefs 和 defines,也可以包含 其它分组。复合实体(compound entities)如类、文件、
忽略<config-file>将会生成一个名为 Doxyfile 的缺省文件,如果 <config-file>已经存在,会被 Doxygen 改名为<config-file>.bak。
实际上,我们根本就不需要用一般的编辑器来编辑配置文件,Doxygen 提供 了一个辅助工具 Doxywizard。Doxywizard 是 Doxygen 的 GUI 前台,用户可以能 过它来读写配置文件,省却了手工配置的麻烦。基本上,在 Doxywizard 中可以 完成 Doxygen 的绝大多数工作,而且 Doxygen 也可以在由 Doxywizard 启动,这 样就使得整个过程比较连贯。

Doxygen的注释风格

Doxygen的注释风格
7. 函数之间的参考用”/// @see”+一个空格开头的行描述在函数的详述里面;
8. 文件头的版权以及文件描述的注释参见例代码。
5.4.4 文件头注释示例
5.4.5 类定义注释示例
/// 本类的功能:打印错误信息
///
/// 本类是一个单件
Doxygen支持c风格注释、c++风格注释以及javaDoc风格注释等,下面将分别予以介绍。
若需要通过Doxygen生成漂亮的文档,一般有如下几个地方需要使用Doxygen支持的风格进行注释:
1) 文件头(包括.h和.cpp)
主要用于声明版权,描述本文件实现的功能,以及文件版本信息等
一般注释的描述由简述开始,经过特殊分隔方式后,后面紧跟详述的内容,C++风格可以使用的分隔方法有以下两种:
(1)使用 \brief 参数标识,空行作为简述和详述的间隔标识
/// \brief Brief description.
/// description continued.
(1)在成员变量上面加注释的格式
/** 成员变量描述 */
int m_Var;
(2)在成员变量后面加注释的格式
int m_color; /**&释示例
/** 下面是一个含有两个参数的函数的注释说明(简述)
*
{
RED, ///< 枚举,标识红色
BLUE, ///< 枚举,标志蓝色
YELLOW ///< 枚举,标志黄色.
}enumVar;
5.5 需要注意的问题
}enumVar;
5.4 C++风格的注释

一款常用文档生成工具:Doxygen

一款常用文档生成工具:Doxygen

一款常用文档生成工具:Doxygen程序员的很多文档,特别是有代码的文档,绝大部分都是由一款文档生成工具【Doxygen】生成。

什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。

通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。

大部分有用的批注都是属于针对函式,类别等等的说明。

所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用你的程序代码的人而言将会减少许多的负担。

不过,反过来说,整理文件的工作对于你来说,就是沉重的负担。

简而言之,Doxgen就是大名鼎鼎的文档生成工具,而且是免费开源的,它使用非常方便,能提取C++,Java,Objective-C,Python,IDL,PHP,C#等语言的注释,从而生成文档。

Doxygen 的使用可分为两大部分。

首先是特定格式的批注撰写,第二便是利用Doxygen的工具来生成文档。

生成文档使用教程1、安装在Linux下可以通过apt install doxygen安装命令行工具,然后用apt install doxygen-gui安装图形界面。

对Linux用户来说,命令行工具可以通过doxygen命令运行,而图形界面可以通过doxywizard命令运行。

Windows 用户的下载地址:/download.html2、基本使用图形工具的基本使用如下图所示,有非常多的配置选项,这里我们只填入必要的配置,其它配置都用默认值。

doxywizard使用步骤doxywizard使用步骤工作目录如下:.├── out└── src└── math.h其中math.h代码如下:/*! \file math.h *//*!用于求一个角度的sin值,输入是字符串以便同时支持弧度制和角度制表示\li 弧度制用pi表示,例如:2pi表示一圈、0.5pi表示直角\li 角度制用d结尾,例如:360d表示一圈、90d表示直角\li 输入也可以是数值,例如:输入3.14159大约表示180度\param a 用弧度制或角度制表示都行,字符串必须用'\0'表示结束\param[out] res 是输出参数,用于保存sin运算的结果\return 错误码,0表示成功,其它表示失败\todo 在xxx的情况下存在BUG,预计下一版本修复*/int sin(char *a, double *res);Doxygen生成的HTML会放到out目录下,生成的HTML如下图所示。

doygen注释详解附有生成的对照

doygen注释详解附有生成的对照

例:
/** *文件关闭函数 * @param file文件编号。 */ int CloseFile(int file);
Doxygen生成效果
return 指令操作符讲解
return:指定函数返回说明指令操作符。 return格式如下:
@return 简要说明
例: /** * 写入文件 * @Param [in] file 文件编号 * @Param [in] buffer 存放将要写入的内容 * @Param [in] len写入长度 * @return 返回写入的长度 * - -1 表示写入失败 */ int WriteFile(int file, const char* buffer, int len);
将WARN_LOGFILE填写为 error.txt。这样,Doxygen会将编 译时出现的警告和错误保存在 error.txt ,这样可以对照修改。
专家(Expert)模式
专家(Expert)对话框----Input相关选项
指定输入源文件目录(INPUT). 输入文件编码(INPUT_ENCODING) 改为GBK.
如果选上,就会连子文件夹的 文件一起生成文当。没选,就 只会生成本文件夹的文件文档.
这里填入生成文档文件输出 路径,这里只填文件夹名字就 可以了.为了大家工作方便, 就规定统一写output文件夹
向导(Wizard)模式
向导(Wizard)对话框----Mode相关选项
选择这个,只生成文档实体,不 会生成源文件文档.
这三项不要选择
向导(Wizard)模式
向导(Wizard)对话框----Diagrams相关选项
这两个不选择.
全选择.通过这个GraphViz工具生 成图表: (1).类的图表. (2).协作图表. (3).包含文件图表(调用图表). (4).被包含文件图表(被调用图表). (5).整个类层次结构图表. (6).调用图表(函数,文件).

[总结]doxygen的使用与CC++注释规范

[总结]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讲解文档

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下可以直接下载安装包运行即可,下载源代码编译安装也是比较通用的编译安装命令。

例子注释建议遵守Doxygen规范

例子注释建议遵守Doxygen规范

例子注释建议遵守Doxygen规范主要用到的Doxygen一些编码规范:1.ANSI standard data types defined in the ANSI C header file <stdint.h> are used. Doxygend编码规范stdint.h中,常用的数据类型如下:typedef signed char int8_t;typedef signed short int int16_t;typedef signed int int32_t;typedef signed __int64 int64_t;typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef unsigned int uint32_t;typedef unsigned __int64 uint64_t;2.#define constants that include expressions must be enclosed by parenthesis.例如:/** SSP data size select, must be 4 bits to 16 bits */#define SSP_CR0_DSS(n) ((uint32_t)((n-1)&0xF))3.推荐使用Doxygen commentsDoxygen comments 格式有多种,推荐使用以下方式•1) 代码块以及函数注释Function Comments provide for each function the following information:•brief function overview.•detailed parameter explanation•detailed information about return valuesDoxygen Example/************************************************************** ***********//*** @brief Send a block of data via SPI* @param[in] wbuf Pointer to Transmit buffer* @param[in] rlen Length of Transmit buffer* @return Number of data sent*************************************************************** **************/•2) 对于宏定义和结构成员的注释如果注释和定义在同一行,用 /*!< xxxx */int var; /*!< Detailed description after the member */ 如果不在同一行,用/** xxx *//** EXTI Event Mode Definition */typedef enum {COX_EXTI_NONE = 0, /*!< None interrupt */COX_EXTI_EDGE_RISING = 1, /*!< Rising edge interrupt */COX_EXTI_EDGE_FALLING = 2, /*!< Falling edge interrupt */COX_EXTI_EDGE_RISING_FALLING = 3, /*!< Both edge interrupt (Rising and Falling) */COX_EXTI_LEVEL_HIGH = 4, /*!< Hign Level interrupt */COX_EXTI_LEVEL_LOW = 5, /*!< Low Level interrupt */} EXTI_EVENT_Def;•3) 如果宏定义和结构定义前面需要加注释则如上,加两个"**"释/** EXTI Event Mode Definition */•4) 程序内部的注释可以不用严格参考Doxygen comments•5) 一般要加注释的地方•文件头注释•宏定义注释•全局变量注释•结构体以及内部成员的注释•各个函数注释4.为保持对齐建议行前缩进为一个TAB(TAB键值为4)5.编译结果建议达到没有waring的标准6.代码尽量保持干净,整齐。

Doxygen代码注释规范

Doxygen代码注释规范

基于Doxygen的代码注释规范一、Doxygen系列软件介绍1、DoxygenDoxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。

注释的语法与Qt-Doc、KDoc和JavaDoc兼容。

Doxgen可以从一套归档源文件开始,生成HTML 格式的在线类浏览器,或离线的LATEX、RTF参考手册。

Doxygen能将程序中的特定批注转换成为说明文件。

它可以依据程序本身的结构,将程序中按规范注释的批注经过处理生成一个纯粹的参考手册,通过提取代码结构或借助自动生成的包含依赖图(include dependency graphs)、继承图(inheritance diagram)以及协作图(collaboration diagram)来可视化文档之间的关系, Doxygen生成的帮助文档的格式可以是CHM、RTF、PostScript、PDF、HTML等。

2、graphvizGraphviz(Graph Visualization Software)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。

要使用Doxygen生成依赖图、继承图以及协作图,必须先安装graphviz软件。

3、HTML Help WorkShop微软出品的HTML Help WorkShop是制作CHM文件的最佳工具,它能将HTML 文件编译生成CHM文档。

Doxygen软件默认生成HTML文件或Latex文件,我们要通过HTML生成CHM 文档,需要先安装HTML Help WorkShop软件,并在Doxygen中进行关联。

二、软件下载与安装Doxygen下载(doxygen-1.8.7-setup.exe):http://www.stack.nl/~dimitri/doxygen/download.htmlgraphviz(for windows)下载:/Download..phpHTML Help WorkShop(1.32)下载:/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelp.exe软件安装都选择默认方式,点击下一步直至安装完成。

代码注释规范之Doxygen

代码注释规范之Doxygen

代码注释规范之Doxygen1.Doxygen简介Doxygen是⼀个程序的⽂档产⽣⼯具,可以将程序中的注释转换成说明⽂档或者说是API参考⼿册,从⽽减少程序员整理⽂档的时间。

当然这⾥程序中的注释需要遵循⼀定的规则书写,才能让Doxygen识别和转化。

⽬前Doxygen可处理的程序语⾔包含C/C++、Java、Objective-C、IDL等,可产⽣出来的⽂档格式有HTML、XML、LaTeX、RTF等,此外还可衍⽣出不少其它格式,如HTML可以打包成CHM格式,⽽LaTeX可以通过⼀些⼯具产⽣出PS或是PDF⽂档等。

2.2.Doxygen安装及使⽤安装列表:Doxygen:下载地址,HTML Help:微软官⽅⽤于⽣成HTML格式的help⽂件,下载地址,Graphviz:⼀种dot⼯具可以⽤来渲染出效果更好的图表,下载地址,windows上安装很简单,⽆需特别设置。

2.1 Doxygen设置1.向导2.专家设置2.1 Project每个配置项均有详细⿏标放置时均有详细注释,以下是我的设置可供参考,特别注意语⾔,避免中⽂乱码2.2 BuildEXTRACT_ALL 表⽰:输出所有的函数,但是private和static函数不属于其管制。

EXTRACT_PRIVATE 表⽰:输出private函数。

EXTRACT_STATIC 表⽰:输出static函数。

同时还有⼏个EXTRACT,相应查看⽂档即可。

HIDE_UNDOC_MEMBERS表⽰:那些没有使⽤doxygen格式描述的⽂档(函数或类等)就不显⽰了。

当然,如果EXTRACT_ALL被启⽤,那么这个标志其实是被忽略的。

INTERNAL_DOCS 主要指:是否输出注解中的@internal部分。

如果没有被启动,那么注解中所有的@internal部分都将在⽬标帮助中不可见。

CASE_SENSE_NAMES 表⽰:是否关注⼤⼩写名称,注意,如果开启了,那么所有的名称都将被⼩写。

doxygen注释规范

doxygen注释规范

doxygen注释规范
doxygen注释规范是专为注释编写的一种文档格式,用于记录代码标识符、模块、类、函数和变量的解释和说明。

它被广泛应用于编程文档,主要用于帮助阅读者了解代码的功能和实现细节。

编写doxygen注释时,首先需要在代码的开头添加一个特殊的文档注释块,它定义了一个开始和结束标记,以及描述文档的元素。

在描述文档的元素中,常用的有函数描述、类描述、参数描述和返回值描述等。

doxygen注释规范要求注释的格式要紧扣文档的语义,例如函数的功能和参数,而且要尽可能详细地描述出来,使阅读者更加清楚地了解相应的功能。

其次,注释也要简明扼要,不能太长,需要尽量用精确的语言描述出来,使得同时可以有效地快速的实现。

此外,doxygen注释还要求写入标签(Tag),这些标签不仅可以丰富文档的内容,而且还可以有效地表明代码在文档中的引用关系,从而能够更好地跟踪和管理代码,避免出现不必要的影响。

总而言之,doxygen注释规范是使用doxygen进行文档编写时必须遵守的规定,它要求以描述性文字记录函数、参数等信息,并加入标签,以提供更好的文档参考环境。

尽管如此,doxygen注释规范仍然是一种有效的文档编写和查看工具,受到了许多程序员的青睐。

doxygen的注释风格

doxygen的注释风格

doxygen的注释风格Doxygen的注释风格是一种用于代码文档化的注释风格。

通过使用Doxygen的注释风格,开发人员可以在代码中添加注释,从而生成具有可读性和易于理解的代码文档。

在使用Doxygen注释风格时,一些常用的注释标记和用法包括:1. 文件注释:在代码文件的开头,使用`/**`和`*/`将注释内容包围起来,用于描述整个文件的概要信息。

可以包括作者、日期、文件用途等相关信息。

2. 函数注释:在函数的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述函数的功能、参数、返回值等详细信息。

可以使用标记如`@param`和`@return`来说明参数和返回值的含义。

3. 类注释:在类的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述类的功能、成员变量、成员函数等详细信息。

可以使用标记如`@brief`、`@param`和`@return`来说明类的概要信息、参数和返回值的含义。

4. 成员变量注释:在类的成员变量前,使用`//!`或`///<`来注释成员变量的含义和用途。

5. 枚举注释:在枚举类型的定义前,使用`/**`和`*/`将注释内容包围起来,用于描述枚举类型的含义和取值范围。

通过使用Doxygen的注释风格,开发人员可以轻松地生成代码文档。

Doxygen会解析这些注释,并将其转换为可供阅读的HTML、PDF或其他格式的文档。

开发人员可以根据需要自定义文档的格式和样式。

使用Doxygen注释风格的好处是显而易见的。

首先,它可以提高代码的可读性和可维护性。

通过在代码中添加详细的注释,其他开发人员可以更容易地理解代码的功能和用法。

其次,生成的代码文档可以作为代码的说明文档,供用户参考和使用。

最后,代码文档可以帮助开发人员更好地组织和管理代码,提高开发效率。

然而,使用Doxygen注释风格也需要注意一些问题。

首先,注释的内容应准确、严谨,避免歧义或错误信息的出现。

CC++注释规范

CC++注释规范

CC++注释规范Doxygen是⼀种开源跨平台的,以类似JavaDoc风格描述的⽂档系统,完全⽀持C、C++、Java、和IDL语⾔,部分⽀持PHP、C#。

鉴于Doxygen良好的注释风格,故基于Doxygen以形成⾃⼰的注释规范。

1.标注总述//-------------------------------------------------------------------// Platform Defines//-------------------------------------------------------------------enum{OST_PLATFORM_WIN32 = 1,OST_PLATFORM_LINUX_X86 = 2,OST_PLATFORM_LINUX_ARM = 3,OST_PLATFORM_ANDROID = 4,OST_PLATFORM_MACOSX = 5,};//-------------------------------------------------------------------// API Export/Import Macros//-------------------------------------------------------------------/** Indicates an exported and imported shared library function. */#define OST_API_EXPORT __declspec(dllexport)#define OST_API_IMPORT __declspec(dllimport)//-------------------------------------------------------------------// Digital Image Macros//-------------------------------------------------------------------#define OST_PI 3.141592653589793f#define OST_RGB2GRAY(r, g, b) ( ((b) * 117 + (g) * 601 + (r) * 306) >> 10 )//-------------------------------------------------------------------// date and time at compile time//-------------------------------------------------------------------#define OST_TIMESTAMP __DATE__ " " __TIME__2. ⽂件头的标注/****************************************************************************** OpenST Basic tool library ** Copyright (C) 2014 Henry.Wen renhuabest@. ** ** This file is part of OST. ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License version 3 as ** published by the Free Software Foundation. ** ** You should have received a copy of the GNU General Public License ** along with OST. If not, see </licenses/>. ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. ** ** @file Example.h ** @brief 对⽂件的简述 ** Details. ** ** @author Henry.Wen ** @email renhuabest@ ** @version 1.0.0.1(版本号) ** @date renhuabest@ ** @license GNU General Public License (GPL) ** **----------------------------------------------------------------------------** Remark : Description **----------------------------------------------------------------------------** Change History : ** <Date> | <Version> | <Author> | <Description> **----------------------------------------------------------------------------** 2014/01/24 | 1.0.0.1 | Henry.Wen | Create file **----------------------------------------------------------------------------** ******************************************************************************/3.命名空间/*** @brief 命名空间的简单概述 \n(换⾏)* 命名空间的详细概述*/namespace OST{}4. 类、结构、枚举标注/*** @brief 类的简单概述 \n(换⾏)* 类的详细概述*/class Example{};枚举类型定义、结构体类型定义注释风格类似/*** @brief 简要说明⽂字*/typedef struct 结构体名字{成员1, /*!< 简要说明⽂字 */ or ///<说明, /**<说明 */成员2, /*!< 简要说明⽂字 */ or ///<说明, /**<说明 */成员3, /*!< 简要说明⽂字 */ or ///<说明, /**<说明 */}结构体别名;5. 函数注释原则/*** @brief 函数简要说明-测试函数* @param index 参数1* @param t 参数2 @see CTest** @return 返回说明* -<em>false</em> fail* -<em>true</em> succeed*/bool Test(int index, const CTest& t);note:指定函数注意项事或重要的注解指令操作符 note格式如下: @note 简要说明 retval:指定函数返回值说明指令操作符。

doxygen 设计原理

doxygen 设计原理

doxygen 设计原理
Doxygen是一种自动化文档生成工具,它可以从源代码中提取注释和代码结构信息,生成各种格式的文档,如HTML、PDF、LaTeX等。

其设计原理主要包括以下几个方面:
注释格式:Doxygen支持多种注释格式,如C++、Java、Python 等,可以根据不同的语言自动识别注释,并将其转换为文档。

代码结构分析:Doxygen可以分析源代码的结构,包括类、函数、变量等,可以根据代码结构生成文档的目录结构。

交叉引用:Doxygen可以自动识别代码中的函数、变量等,并在文档中进行交叉引用,方便用户查看相关信息。

多种输出格式:Doxygen支持多种输出格式,如HTML、PDF、LaTeX等,用户可以根据需要选择不同的输出格式。

自定义配置:Doxygen提供了丰富的配置选项,用户可以根据自己的需求进行配置,如文档样式、目录结构、交叉引用等。

总之,Doxygen的设计原理是基于源代码的注释和结构信息,
通过分析和转换,生成各种格式的文档,方便用户查看和使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

doxygen 解析支持的标签规范 目录 1. 1. 2. 3. 4. 5. 6. 2. 3. dox 常用命令 dox 文献信息 dox 状态信息 dox 模块信息 dox 函式信息 dox 提醒信息 dox 关联信息 dox 标签格式 dox 注释风格
6. dox 常用命令
讲述基本的常用标签命令
6.1. dox 文献信息
@author ... 作者 @brief ... @file ... 摘要 文件声明
6.2. dox 状态信息
@version ... 版本推荐使用$Id$ @todo ... 改进,可以指定针对的版本
6.3. dox 模块信息
@var ... 模块变量 说明 @typedef ... 模块变量类型说明
6.4. dox 函式信息
@param p ... 参数 p 说明 @arg ... 列表说明参数 信息
@return ... 返回值说明


@retval ... 返回值类型说明
6.5. dox 提醒信息
@note ... 注解 @attention ... 注意 @bug ... @warning ... 问题 警告
6.6. dox 关联信息
@sa ... 参考资料
7. dox 标签格式
约定文档化标签的语法
 
epydoc 支持两种标签的语法! doxygen: \tag 内容...

Javadoc: @tag 内容...

为了简化学习,在新浪标准化开发中我们推荐统一使用
@tag: 内容... 格式
8. dox 注释风格
约定文档化标签放置
 
依照 C/C++ JAVA 类别语言注释风格自然的进行 /**


                            
*
一个示范类,描述在此
*/ class Test{ public: /** * 一个 enum. * 详细描述可以多行 */ enum TEnum { TVal1, /**单行注释*/ } *enumPtr, /**< enum pointer. Details. */ /** * 构造器函式 * 详细描述可以多行 */ Test(); /** * 一个普通函式 描述和参数等等的叙述 * @param a 整数参数 * @param s 字串指针参数 * @see Test() 参看.. * @return 返回值描述 */ int testMe(int a,const char *s); /** * 纯虚成员函式 * @see testMe() 参看 * @param c1 第一参数


           o    o    o        o o o o o o o
* @param c2 第二参数 */ virtual void testMeToo(char c1,char c2) = 0; /** * 一个公共变量 * 详细描述 */ int publicVar; }; DoxyGen 支持多种注释声明,仅仅是在标准基础上添加一点儿: JavaDoc 样式的: /** * ... text ... */ Qt 样式的: /*! ... text ... */ C++ 样式的: /// /// ... text ... /// or //! //! ... text ... //! 我们推荐简化的 Qt 风格 /*! 引发的多行注释 ... */ 正常結束
块结构


 
象文章分章节一样 注释文本也能定义各种语义区块
12.1. 段落
           o o
@par 命令引出
/*! \class Test 普通文字 @par 用户定义第一段.
段落可以包含多行 @par */
具体实例参考:
这是第二段. 段落间通过空行来区分
@par 命令 输出的 HTML
12.2. 列表
          o
@li 命令引发 可以混合其它格式命令
@li \c AlignLeft left alignment. @li \c AlignCenter center alignment. @li \c AlignRight right alignment 无类型的列表项也支持
具体实例参考:
@li 命令
12.3. 章节
 
@section 命令引发 不过,只能在 @page 命令后作用


               
即通过 @page 命令,声明创建一个相关页面,内容将组织到最终的“相关页面”中, 与 Todo Bug 列表页面等等并列在一起!
例如 /*! @page page1 A documentation page Leading text. @section sec An example section This page contains the subsections \ref subsection1 and \ref subsection2. For more info see page \ref page2. @subsection subsection1 The first subsection Text. @subsection subsection2 The second subsection More text. */ /*! @page page2 Another page Even more info. */
 o o   
将生成:
@page 命令
包含了
@section 章 @subsection 节 @ref 提及 三个命令的使用
12.4. 引用块
  o o o o o o o
@code 和 @endcode 框出
类似:
/*! ... @par _doAllOnLoad() @param 全局数组 g_onload
@return void 逐条调用已知的函数^_^
@note
动态加载的模块中,一些函数需要 onLoad()事件触发;但是


o o o o
@code window.onload= new Function ("myFunctoin();"); @endcode 将会重新注册 onLoad() 事件的运行函数,致使不能简单的使不同的 模块中需要的不确定数目的 onLoad()触发函数叠加注册!
o o o
... */
13. 行内修饰

简单的字体声明
13.1. @b
  o
@b 文字
生成:
<b>文字</b>
13.2. @c
  o
@c 文字
生成:
<tt>文字</tt>
13.3. @n
  o
@n
生成:
<br/>
13.4. 特殊标签

针对 PHP 语言,doxygen 有几个标签命令,需要关注


13.4.1. PHP 代码说明专用
    
@private 私有的 @protected 保护的 @public 公开的
是独立说明项的声明标签 用以说明 类/函式/变量 的具体性质
13.4.2. PHP 章节内容专用
    
@privatesection 私有的章节 @protectedsection 保护的章节 @publicsection 公开的章节 是@page 附加说明页面内容中的声明标签
用以领起不同性质的 类/函式/变量 说明内容
14. 警告

当然对于意外情况, doxygen 不会崩溃,只是进行警告,你可以根据 log 日志文件 的提示进行修正





相关文档
最新文档