文档生成工具-Doxygen使用方法以及注释规则

最近接触了一款程序 文档生成工具-Doxygen。在网上一搜索原来这么多人知道,打算把它的使用做一个总结,以及其注释的规则。

概述:
Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxgen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构,将批注经过处理重新整理成为一个纯粹的参考手册,对于后面利用您的程序代码的人而言将会减少许多的负担。不过,反过来说,整理文件的工作对于您来说,就是沉重的负担。

Doxygen 就是在您写批注时,稍微按照一些它所制订的规则。接着,他就可以帮您产生出漂亮的文档了。因此,Doxygen 的使用可分为两大部分。首先是特定格式的批注撰写,第二便是利用Doxygen的工具来产生文档。

工具的准备
本人已经下载了这三个软件,打包后放在:点击打开链接
Doxygen下载
下载地址:http://www.onlinedown.net/soft/117010.htm

htmlhelp下载
如果你希望你的Doxygen自动生成chm,那么请下载HTML Help Workshop,我们将要使用当中的hcc.exe文件以及相关dll。 下载地址: http://msdn.microsoft.com/en-us/library/ms669985.aspx

Graphviz的下载

graphviz 是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。Doxygen 使用 graphviz 自动生成类之间和文件之间的调用关系图,如不需要此功能可不安装该工具包。

下载地址:http://www.skycn.com/soft/appid/6971.html

Doxygen工具的配置
在安装好开始配置Doxygen工具,运行Doxywizard。会出现以下界面
在这里插入图片描述

配置工作目录
点击Select选择自己的Doxygen的安装目录
在这里插入图片描述

配置Wizard选项卡
配置Project
首先修改Project name,选择扫描源代码的目录,Source code directory:,勾选Scan recursively (递归扫描),之后选择输出目录。
在这里插入图片描述

配置Model
在Wizard的Topics下的Mode,选择All Entities,可以输出相对完整的功能,是否包含源代码看你自身情况,在下面选择好你的语言。这里作者使用的是C++

在这里插入图片描述

配置Output
在Output中,如果你需要输出chm格式,请勾选。
在这里插入图片描述

配置Diagrams
在Diagrams中选择使用GraphViz包,来输出UML
在这里插入图片描述

配置expert选项卡
配置project
说明:编码格式,UTF-8 是首选。如果需要显示中文则选择GB2312.

TAB_SIZE 主要是帮助文件中代码的缩进尺寸,譬如@code和@endcode段中代码的排版,建议设置成4。
在这里插入图片描述

配置Build
Build页面,这个页面是生成帮助信息中比较关键的配置页面:

EXTRACT_ALL 表示:输出所有的函数,但是private和static函数不属于其管制。

EXTRACT_PRIVATE 表示:输出private函数。

EXTRACT_STATIC 表示:输出static函数。同时还有几个EXTRACT,相应查看文档即可。

SHOW_INCLUDE_FILES 表示:是否显示包含文件,如果开启,帮助中会专门生成一个页面,里面包含所有包含文件的列表。

INLINE_INFO :如果开启,那么在帮助文档中,inline函数前面会有一个inline修饰词来标明。

SORT_MEMBER_DOCS :如果开启,那么在帮助文档列表显示的时候,函数名称会排序,否则按照解释的顺序显示。
在这里插入图片描述

配置Input
说明:INPUT_ENCODING (输入的源文件的编码),要与源文件的编码格式相同。如果源文件不是UTF-8编码最好转一下。
在这里插入图片描述
总结:我查看到我的代码文件是utf-8的(vs2013中打开文件 选另存为可看到编码格式)((VS2012的话):文件->高级保存选项)。

配置HTML
在Expert的HTML中,首先要看HHC_LOCATION选项,添加安装目录(注:作者目录为C:/Program Files (x86)/HTML Help Workshop/hhc.exe)
勾选CHM_INDEX_ENCODING,在你源代码中的字符集是什么就填写什么,
在这里插入图片描述

配置dot
之后在Expert的Dot中勾选CLASS_DIAGRAMS,UML_LOOK
为了减少chm体积,在DOT_IMAGE_FORMAT中选择gif或者jpg,均可。
最后选择好DOT_PATH所输出的位置。
在这里插入图片描述

Run选项卡
点击点击 Run doxygen 按钮, Doxygen 就会从源代码中抓取符合规范的注释生成你定制的格式的文档。
在这里插入图片描述

假如运行时遇到这个错误

Error: When enabling GENERATE_HTMLHELP the search engine (SEARCHENGINE) should be disabled. I’ll do it for you.

warning: The selected output language “chinese” has not been updated

since release 1.8.2. As a result some sentences may appear in English.

解决:把HTML里面的SEARCHENGINE设置为NO

在这里插入图片描述

到此chm文件生产完毕,为了下次代码调整后再次生产chm文件此时我们可以将目前所做的工作进行保存,点击File->Save,如下图:
在这里插入图片描述

后期使用可以通过步骤2中的file下的open菜单打开重新调整设置生产新的chm文件。好了Doxygen的安装与配置就讲到这里!

注释规范
以下是想使用doxygen工具生成程序文档需要在代码中遵守的注释规范(不全):
头文件模板:
/** @brief 这里写你的摘要

  • @file 你的文件名
  • @author 谁tmd的搞的
  • @version 版本了
  • @date 你啥时候搞的
  • @note 注解. 例如: 本文件有什么具体功能啊,使用时要注意什么啊……
  • @since 自从 例如: 自从2012年地球爆炸后这个文件就从地球上消失了……
    */

几句费话:
美中不足的是它没有修改历史记录. 我只能用@since来暂时代替它了.
除开始和结尾 中间 @前的*不是必须的,这里只是为了美观.

函数的注释:
/** 这里写这个函数是干什么用的
@param[in] 输入参数1
@param[in] 输入参数2
@param[out] 输出参数1
@return 返回值解释一下
@warning 警告: 例如: 参数不能为空啊,内存要外部释放之类的费话
@note 注解 随便你了
@see 相当于是请参考xxoo函数之类的
*/

费话:
这些东西并不是固定的你要哪几个就写哪几个.

关于返回值也可以这样搞
@retval 1 成功
@retval 0 失败

有时我们可能会写段示例代码在注释中这样搞:
在你的注释中加入这样的代码
@par 示例:
@code
extern IThread *pThread;
HANDLE hEvent = pThread->GetEventHandle();
while(WaitForSingleObject(hEvent,0) != WAIT_OBJECT_0)
{
//Do something
}
@endcode

还有几个你可能用上的东东:
@todo //我觉得这个描述算法比较好
@exception // 这个应该是用来说明你这个函数会抛出什么异常
@deprecated //这个函数可能在以后的版本中取消 所谓的什么过时列表

eg:
/** 构造函数
@param[in] pConfig 指向 TASKCONFIG 结构体的指针
@param[in] strWndName 目标窗口的名称, 如果此参数为空则不和任何窗口交互
@param[in] hRes 欲使用的资源句柄,如果参数为空则不使用资源
@warning pConfig 不能为空
@note 申请 pConfig 内存
@see IThread
*/
CThread_Plug(TASKCONFIG *pConfig,LPCTSTR strWndName,HINSTANCE hRes);

变量或者只有一行注解的东东,不超过一行的注释:
/**< 在这里写你要加的东西 */
OR
///< 在这里写你要加的东西

eg:
HINSTANCE m_hRes; ///< 要使用的资源句柄
CString _strWndName; ///< 目标接收消息的窗口名称

常用指令介绍
@file 档案的批注说明。
@author 作者的信息
@brief 用于class 或function的简易说明 eg:@brief 本函数负责打印错误信息串
@param 主要用于函数说明中,后面接参数的名字,然后再接关于该参数的说明
@return 描述该函数的返回值情况eg: @return 本函数返回执行结果,若成功则返回TRUE,否则返回FLASE
@retval 描述返回值类型 eg: @retval NULL 空字符串。@retval !NULL 非空字符串。
@note 注解
@attention 注意
@warning 警告信息
@enum 引用了某个枚举,Doxygen会在该枚举处产生一个链接 eg:@enum CTest::MyEnum
@var 引用了某个变量,Doxygen会在该枚举处产生一个链接 eg:@var CTest::m_FileKey
@class 引用某个类,格式:@class [] [] eg:@class CTest “inc/class.h”
@exception 可能产生的异常描述 eg: @exception 本函数执行可能会产生超出范围的异常
@todo 对将要做的事情进行注释
@see 一段包含其他部分引用的注释,中间包含对其他代码项的名称,自动产生对其的引用链接。
@relates 通常用做把非成员函数的注释文档包含在类的说明文档中。
@since 通常用来说明从什么版本、时间写此部分代码。
@code 在注释中开始说明一段代码,直到@endcode命令。
@endcode 在注释中代码段的结束。
@pre 用来说明代码项的前提条件。
@post 用来说明代码项之后的使用条件。
@deprecated 这个函数可能会在将来的版本中取消。
@defgroup 模块名
@class 声明一个类
@fn 声明一个函数
doxygen的安装与注释规范就写到这里了,赶紧去试试吧!

转自:https://blog.csdn.net/Andy_93/article/details/53125776

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt Creator是一款用于Qt应用程序开发的集成开发环境(IDE)。它提供了一个直观、易于使用的界面,帮助开发人员更高效地构建Qt应用程序。 Doxygen是一种用于自动化代码文档生成工具。它可以从代码中提取信息,并生成HTML、LaTeX、RTF等格式的文档。开发人员可以通过添加注释来描述代码的功能、类、函数等,Doxygen会根据这些注释生成相应的文档。 Qt Creator集成了Doxygen文档生成工具,使得我们可以方便地为我们的Qt项目添加文档注释,并生成相应的文档。在Qt Creator的帮助菜单中,我们可以找到Doxygen的相关选项和设置。 使用Qt Creator和Doxygen可以帮助开发人员轻松创建和维护项目的文档。通过添加适当的注释,我们可以清晰地描述我们的代码,并生成易于理解的文档。这对于代码的维护和项目的开发都非常重要。 另外,Qt Creator还提供了一些与文档相关的其他功能。例如,在代码编辑器中,我们可以通过鼠标悬停来查看注释以及和类、函数相关的信息。这样可以快速了解这些代码的功能和用法,提高开发效率。 总之,Qt Creator集成了Doxygen工具,使得代码的文档生成变得更加方便和直观。开发人员可以通过适当添加注释生成高质量的文档,提高代码的可读性和项目的可维护性。 ### 回答2: Qt Creator是一款强大的跨平台集成开发环境(IDE),而Doxygen是一种文档生成工具。Qt Creator与Doxygen的组合可以帮助开发人员更好地管理和生成代码文档。 首先,Qt Creator提供了丰富的代码编辑功能,如自动补全、语法高亮、代码导航等,使开发人员在编写代码时更加高效。同时,Qt Creator还与Qt框架集成紧密,可以轻松地进行Qt程序的开发和调试。此外,Qt Creator还支持多种编程语言,包括C++、QML、Python等,满足了不同开发需求。 而Doxygen则是一种自动化文档生成工具。开发人员可以在代码中添加特定格式的注释,然后使用Doxygen生成代码文档Doxygen支持多种输出格式,如HTML、LaTeX、XML等,可以根据需求生成不同形式的文档。它可以将代码中的注释、类、函数等信息转化为易读的文档,使其更加可理解和可维护。通过Doxygen生成文档,开发人员可以更好地了解代码的结构和功能。 Qt Creator与Doxygen的结合可以提供更好的代码开发和文档管理体验。在Qt Creator中,开发人员可以轻松地编写代码,并在代码中添加Doxygen格式的注释。然后,使用Doxygen生成代码文档,将代码文档与代码开发整合起来。这样,开发人员可以更加方便地查看和理解代码的结构和功能,提高代码的可读性和可维护性。同时,通过文档生成工具的支持,开发人员还可以将生成文档与团队成员分享,加强团队合作。 总结而言,Qt Creator与Doxygen的结合使得代码开发和文档管理更加高效和便捷。开发人员可以借助Qt Creator提供的丰富功能进行代码开发,并使用Doxygen生成易读的代码文档,提高代码的可读性和可维护性,促进团队合作。 ### 回答3: Qt Creator是一款跨平台的集成开发环境(IDE),用于开发Qt应用程序。而Doxygen是一款自动化文档生成工具,用于从源代码中生成可阅读的文档。那么,qtcreator-doxygen指的就是Qt Creator集成了Doxygen功能,可以直接在IDE中使用Doxygen生成文档。 Qt Creator集成了Doxygen之后,用户可以通过简单的操作来生成项目的API文档。在编写Qt应用程序的过程中,开发者可以使用特定的注释格式来标记代码的各个部分,比如类、函数、成员变量等。然后,通过使用Doxygen相关的命令,结合Qt Creator的集成,可以快速生成项目的文档。 Qt Creator集成Doxygen的好处在于可以方便地在同一个开发环境中进行代码编写和文档生成。开发者无需切换到其他工具或命令行窗口,只需在Qt Creator中一键生成文档。这样不仅提高了效率,还可以减少因为切换工具而导致的操作失误。 另外,Qt Creator集成Doxygen还可以提供一些额外的功能,比如代码自动补全、快速跳转到定义等。这些功能可以提高开发者编写文档的效率和准确性。 总之,qtcreator-doxygen是指Qt Creator集成了Doxygen,使开发者可以方便地在IDE中生成项目的API文档。这样的集成不仅提高了开发效率,还能改善代码的可维护性和可读性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值