doxygen注释生成api文档

doxygen注释生成api文档

项目注释

注释的基本结构如下:

/**
 * @mainpage 项目名称
 * @section 目录一
 *  手动阀手动阀
 * @section 目录二
 * 发士大夫s
 * -# sdf
 * -# sdfsdfa
 * @section 目录三
 * @section 目录四
 * 
 * 
 * 
你好 hello *
哈喽 hi *
再见 * -# bye * -# seeyou * -# goodbye *
*/

再经过doxygen编译后生成的页面如下:
doxygen注释生成api文档_第1张图片

文件注释

/**
 * @file pool_manger.h
 * @attention
 * sdflasdlfkasjdlfkasjd;fk
 * @par 修改日志
 * 
 * 
Data Version Author Desc *
xxxx V1.0 yyx *
*/

doxygen注释生成api文档_第2张图片

结构体注释

/**
 * @brief MixMemory对象池中管理对象的最小单元
 * @struct MixMemoryUnit
 */
typedef struct MixMemoryUnit{
    MixMemory* ptr = nullptr; /*!< 混合内存对象指针*/
    size_t size = 0;          /*!< 内存大小*/
    bool available = false;   /*!< 当前内存是否可以分配*/
    bool isShare = false;     /*!< 当前内存是否为共享内存*/
    int id = -1;
}MixMemoryUnit;

doxygen注释生成api文档_第3张图片

枚举类型注释

/**
 * @brief 头信息的枚举类型
 * @enum DataHead
 */
enum class DataHead:char{
    INIT,         /*!< 初始化状态*/
    GPU,          /*!< GPU内存*/
    CPU,          /*!< CPU内存*/
    SHARE         /*!< 共享内存*/
};

doxygen注释生成api文档_第4张图片

函数的注释

/** 拷贝构造函数
         * @param[in] tensor对象
         * @warning 传入参数不能为空
         * @note 构造一个tensor对象
         * @par 示例:
         * @code
            extern  IThread *pThread;
            HANDLE hEvent = pThread->GetEventHandle();
            while(WaitForSingleObject(hEvent,0) != WAIT_OBJECT_0){
                //Do something
            }
         * @endcode
         */
        tensor(const tensor& other);

doxygen注释生成api文档_第5张图片

关联注释

下面这个运算符重载函数不属于tensor类,但是要把它放在tensor的说明文档中

/**
 * @relates tensor
 */
inline std::ostream& operator<< (std::ostream& ost, tensor& t) {
    ost << t.descriptor_string() ;
    return ost;
}

doxygen注释生成api文档_第6张图片

常用注释命令

1.@author       作者信息

2.@brief        简要说明概要信息

3.@bug          被标记的代码会在Bug列表中出现

4.@class        对类进行标注

5.@data         日期

6.@file         文件名

7.@param        主要用于函数说明,对参数进行说明

8.@return       描述函数的返回值情况

9.@retval       描述函数返回值类型

10.@note        注解

11.@attention   注意

12.@name        分组名

13.@warning     警告信息

14.@enum        引入了某个枚举

15.@var         引入了某个变量

16.@exception   可能产生的异常描述

17.@todo        对将要做的事情进行注释

18.@see         一段包含其他部分引用的注释,中间包含对其他代码项的名称,自动产生对其的引用链接

19.@relates     通常用做把非成员函数的注释文档包含在类的说明文档中

20.@since       从哪个版本后开始有这个函数的

21.@code        在注释中开始说明一段代码,直到@endcode结束

22.@endcode     在注释中代码段的结束

23.@remarks     备注

24.@pre         说明代码项的前提条件

25.@post        说明代码项之后的使用条件

26.@deprecated  这个函数可能会在将来的版本中取消

27.@defgroup    模块名

   @{           模块开始

   @}           模块结束

28.@version     版本号

29.@par         开始一个段落

30.@detail      详细描述

你可能感兴趣的:(doxygen)