Doxygen详细配置使用说明

写在前面:

Doxygen是自动生成帮助文档的软件,非常方便。

但,前提你的代码注释必须规范(这里的规范不是说符合你们公司内部规范,是符合标准规范)

另外,源码必须全部UTF8或GBK,不能混用(否则中文会出现乱码,当然注释全英文随意)

 

千万要注意以上两点,否则可能会出现乱码/ 失败之类的

 

什么是Doxygen?

Doxygen 是一个程序的文件产生工具,可将程序中的特定注释转换成为说明文件。说白了就是通过代码里注释直接生成说明文档,这样可以大大提高我们程序员生成说明文档的效率,当然前提我们程序代码注释要符合规范且比较合理,否则巧妇难为无米之炊。生成说明文档格式支持很多种,常见的如HtmlchmLATEXRTF参考手册等等。

在这里 推荐生成chm格式,chm格式是微软推荐的帮助文档,支持查询、分类浏览,使用起来很方便。

(以下均是以chm格式为准,其他格式的,可以尝试下)

 

准备工作:

       要生成chm格式的文档,首先得安装chm制作工具(如果已经安装HTML Help Workshop,请跳过这一步)。注意chm制作工具要额外安装,不是Doxygen自带的。

       具体下载路径:官网下载

https://docs.microsoft.com/zh-cn/previous-versions/windows/desktop/htmlhelp/microsoft-html-help-downloads

 

       安装Doxygen

       Doxygen是开源项目,大家可以通过github进行下载。

       直接从官网地址下载也可以:官网下载

http://www.doxygen.nl/download.html

 

两个都要选择适合系统版本进行安装,安装过程很简单,这里不再复述。值得注意的是,要记住HTML Help Workshop的安装路径,这个路径后面要用到的。

 

开始操作:

       操作之前先介绍下涉及到几个重要的文件或文件夹:

  • 运行根目录:

这个目录是指当前Doxygen运行的路径,建议将2、3、4这几个都放在这个文件下。

 

  • 源码存放的文件夹:

就是你要转之前的源码文件,比如所有cpp h文件都放在这个下面

 

  • 生成文档存放的文件夹:

生成之后存放位置

 

  • Doxygen配置文件存放位置:

每个工程都应该有自己的Doxygen配置文件,这个可以通过拷贝其他工程的配置文件进行改进的,这样方便一点。

 

Step1: 配置路径

运行Doxygen就可以看这个界面,这个界面看似很多,实际只要捋清楚几个关键目录就没问题。当然如果你是直接打开其他其他工程的配置文件,这里会简单很多,当然看了图示,就更明白哪些地方是需要更改的,哪些地方不需要改的。

 

Step2: Mode选择,一般来说这步骤基本不用改动。

 

Step3: OutPut设置,这里要配置下,跟默认的不一致。特别是红色框,需要注意。

Step4: Expert-Project设置

Step5: Expert-Input设置,这样要注意的是输入ENCODING,即源码的编码格式,如果是GBK的要写成GBK的,否则中文会是乱码。

 

Step6: Expert-Build设置,把右边的几个勾上(勾上之后,字体就会变成红色)

 

Step7: Expert-HTML设置,这步骤很重要,内容也比较多。详见图示,注意红色的部分,要保持一致。

 

Step8: Expert-LaTex设置,这步骤比较简单,去掉原先打勾就可以了。

Step9: Expert-Dot设置,这步骤也很简单。

注意:

Expert配置项内容很多,也是主要配置内容,除了我已经图示几个地方,还有很多其他地方,当然没有图示的地方就按默认配置就可以了。

 

配置好参数之后,进入最后一个步骤,Run,类似编译。

“*** Doxygen has finished” 结束。

如果一切成功,就会生成我们的chm文件。当然如果有错误的话,可根据提示去看看是否配置出错,因为配置项比较多,难免会有点遗漏的。

 

 

=======================================================================

Doxygen 注释 要求(不完全统计)

并非所有程序代码中的注释都会被Doxygen所处理,而是必须依照正确的格式撰写。原则上,Doxygen仅处理与程序结构相关的注释,如Function,Class等。对于Function内部的注释则不做处理。Doxygen可处理下面几种类型的注释。

 

JavaDoc类型:

/*

 

 * ... 注释 ...

 

 */

 

Qt类型的注释:

/*!

 

 * ... 注释 ...

 

 */

 

单行类型的注释:

/// ... 注释 下一行  ...

 

或  

 

//! ... 注释 下一行 ...

 

 

备注:不同类型的注释可以混合使用。(虽然是可以混用的,但还是统一一种风格比较好)

 

由于Doxygen 对于注释是视为在解释后面的程序代码。也就是说,任何一个注释都是在说明其后的程序代码。如果要注释前面的程序代码则需用下面格式的注释符号。(不推荐!!)

参数后面的注释,包含h文件里的函数申明也是。如果是在后面注释的,必须这样写

 

/*!< ... 注释前面的代码 ... */

/**< ... 注释前面的代码... */

//!< ... 注释前面的代码...

///< ... 注释前面的代码...

 

这里必须强调一下:如果不加<,则会认为是 下一行 的注释

 

Doxygen产生说明文档时,Doxygen会首先解析程序源代码,并且依据程序的结构建立对应的文档,然后再将代码中的注释依据其在程序中的位置放在文档中正确的地方。除了一般文字说明外,Doxygen中还有一些其它特别的指令,如@param及@return等。Doxygen根据这些指令判断注释的是函数参数还是返回值。例如Doxygen中对文件的注释如下所示:

 

 

/**

*******************************************************************************

* @copyright

* 高新兴创联科技有限公司

*

*------------------------------------------------------------------------------

* @file     SocketUDP.h

* @brief    Windows版本,UDP传输封装

* @author   xxxx

* @date     2019-04-08

* @version  V0.1

* @note     新建,增加注释

*******************************************************************************

*/

 

@file会告诉Doxygen此处是源码文件的注释,

@brief表明此处是文件的简易说明

@author表示的是作者信息。

 

对函数说明的注释如下所示:

/**

*******************************************************************************

* @brief        初始化数据回调(接收到数据之后回调)

* @param        strIP         本地IP,若不需要指定(默认),可以strIP=NULL

* @param        nPort         本地端口

*

* @return       打开结果

*               =<em> -1 </em>打开失败

*               =<em> -2 </em>绑定失败

*               =<em> 0 </em> 打开成功

*******************************************************************************

*/

int CSocketUDP::OpenPort(const char *strIP,const int nPort)

{

return -1;

}

 

 

上面这个例子要说的是,在Doxygen处理一个函数注释时,会先判断第一行为简易说明。这个简易说明将一直到空一行的出现,或是遇到第一个 "." 为止。之后的注释将会被视为详细说明。@param表示是函数参数说明。在上面两个例子中"@"和"\"在Doxygen 中是一样的,都是告诉Doxygen后面是一个指令。

 

Doxygen中常用指令的说明如下表所示:

 

@file源码文件的注释说明。

 

@author作者的信息

 

@brief用于class 或function的注释中,后面为class 或function的简易说明。

 

@param格式为@param arg_name 参数说明

 

主要用于函式说明中,后面接参数的名字,然后再接关于该参数的说明。

 

@return后面接函数传回值的说明。用于function的注释中。说明该函数的传回值。

 

@retval 传回值说明

主要用于函式说明中,说明特定传回值的意义。所以后面要先接一个传回值。然后在放该传回值的说明。

 

 

 

 

 

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Doxygen 是一个开源的文档生成工具,可以自动从代码注释中生成高质量的文档。在使用 Doxygen 之前,我们需要按照一定的规则编写好代码注释,以便让 Doxygen 能够正确解析和处理。 首先,我们需要在代码中使用特定的注释标记来标识文档元素,比如类、函数、变量等。对于类的注释,可以使用特殊的块注释来描述类的作用、属性和方法等。对于函数和变量,可以在相应的注释块中说明其功能和用法。 在注释中,我们可以使用特殊的命令来指示 Doxygen 如何处理注释内容。比如,使用 \brief 命令来指定类、函数的简要描述,使用 \param 来说明函数参数,使用 \return 来说明函数的返回值。这些命令可以帮助 Doxygen 生成更加准确和详细的文档。 在编写好代码注释之后,我们可以使用 Doxygen 来生成文档。首先,我们需要创建一个配置文件,其中包含了生成文档所需要的设置和选项。配置文件中可以设置文档的输出格式、目标文件夹、标题等。然后,我们可以在命令行中执行 doxygen 命令,指定配置文件的路径。Doxygen 将会根据配置文件的设置,解析代码注释,并生成相应的文档文件。 生成的文档可以包括类和函数的详细说明、参数和返回值的描述、使用示例代码、继承关系图等。这些文档可以帮助其他开发人员快速理解代码的结构和用法,提高开发效率和代码质量。 总而言之,Doxygen 是一个强大的代码文档生成工具,通过编写规范的代码注释和使用特定的命令,可以帮助我们自动生成高质量的文档。使用 Doxygen 可以方便地分享代码的用法和功能,提高团队开发的效率和协作性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值