原创文章,欢迎阅读,禁止转载。

本文记一下javadoc风格注释的写法,这些特殊格式的注释称作标签。按照这种规范写的注释才能生成到文档中。

块注释的写法

/**
* @brief 这个块注释
* doxygen标签就是写在这里(除了单行注释)
* 格式为双星开始"/** ... */",标签可以写多行
*/

单行注释的写法

int var; ///< 用"///<"的是单行注释
int abc; ///< 常用于全局变量、成员变量、结构体成员、枚举值等

(标签用'@'和'\'开头都是可以的)
C++常用的标签有:
@file 要文档化的文件,这个必须写,否则文件中的全部忽略
@author 作者
@date 日期
@brief 功能或行为描述,可以多行
@param 参数
@param[out] 输出参数
@param[in] 输入参数
@return 返回说明
@retval 返回值具体说明
@note 备注
@see 相关项(貌似不能写typedef的函数指针)
@todo 待办事项

一些高级的标签
@mainpage 标识本文会显示在手册主页上,在该段中写各种html代码即可

这是我写的注释的例子(export.h)

/**
* @file export.h
* @author zhaojk
* @brief 注释标注,试试自动生成文档的效果
* @version 0.1
* @note 其中file标签必须写
* @todo 看帮助手册,给我的手册做个主页
*/ /**
* @brief 回调参数原型
*/
typedef void(EventCallBack*)(int event,void* param); /**
* @brief 事件ID类型
*/
typedef int EVENTID; /**
* @struct 用户信息
*/
typedef struct
{
char ip[]; ///< IP地址
int port; ///< 端口号
}Adddess; /**
* @enum
*/
enum EmDeviceType
{
Device_28181=, ///< 28181设备
Device_sip, ///< sip设备
Device_onvif, ///< onvif设备
Device_other //没按规范注释就不会出现在手册
}; void* g_Instance; ///<全局实例 /**
* @brief 设置事件回调
* @param cbFun 事件回调函数
* @param cbParam 用户参数
* @return 返回操作结果
* @retval true成功,false失败
* @see EventCallBack
*/
bool SetCallBack(EventCallBack cbFun,void* cbParam); /**
* @brief 获取版本号
* @param[out] version 返回的版本号
*/
void GetVersion(char version[]); /**
* @brief 打开数据库
* @param dbname 数据库名称
* @param username 用户名
* @param passwd 密码
* @return 返回错误码
* @see CloseDB
*/
int OpenDB(char* dbname,char* username,char* passwd); /**
* @brief 关闭数据库
* @return void
* @see EmDeviceType
*/
void CloseDB();

再来一个手册主页的例子(mainpage.h)

/**
* @mainpage 这是主页
* @brief 这是本手册的主页<br>这是第二行
* @author zhaojk
*/

了解更多
常用标签的使用,请看doxygen的参考手册,也可以看一下开源库。
更多更高级的标签,请看参考手册
貌似对html格式和md格式有支持。

原创文章,欢迎阅读,禁止转载。

doxygen的使用(二)给代码添加javadoc风格的注释的更多相关文章

  1. C#/AutoCAD 2018/ObjectArx/二次开发添加删除实体的工具函数(四)

    1.添加删除实体 C# ObjectARX二次开发添加删除实体是非常容易主要代码如下: 添加实体: objId = btr.AppendEntity(entity); trans.AddNewlyCr ...

  2. 如何将 JavaScript 代码添加到网页中,以及 <script> 标签的属性

    Hello, world! 本教程的这一部分内容是关于 JavaScript 语言本身的. 但是,我们需要一个工作环境来运行我们的脚本,由于本教程是在线的,所以浏览器是一个不错的选择.我们会尽可能少地 ...

  3. 使用Typescript重构axios(二十九)——添加baseURL

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  4. VS中如何快捷地给自己的代码添加创建信息注释

    VS中如何快捷地给自己的代码添加创建信息注释 Intro 以下讨论的都是没有使用 GIT 来管理源代码的情况,如果使用 GIT 管理源代码可直接使用VS的Git扩展就不需要考虑以下问题. 什么是创建信 ...

  5. 【转】iOS学习之Autolayout(代码添加约束) -- 不错不错

    原文网址:http://www.cnblogs.com/HypeCheng/articles/4192154.html DECEMBER 07, 2013 学习资料 文章 Beginning Auto ...

  6. 【转】iOS6中的Auto Layout:通过代码添加约束

        最近做的项目用到了Auto Layout,于是经过了一番大量的google,这是我看到的讲用代码创建约束最清晰的一篇教程,于是想跟更多的人分享一下.原文也比较简单,可以直接过去看,如果我翻译的 ...

  7. 转:TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码

    TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码 http://blog.csdn.net/candle806/article/details/7490599 以 ...

  8. 给php代码添加规范的注释phpDocumentor

    给php代码添加规范的注释更多参考 http://phpdoc.org/docs/latest/index.html在phpdocumentor中,注释分为文档性注释和非文档性注释.所谓文档性注释,是 ...

  9. u-boot移植(十二)---代码修改---支持DM9000网卡

    一.准备工作 1.1 原理图 CONFIG_DM9000_BASE 片选信号是接在nGCS4引脚,若要确定网卡的基地址,则要根据片选信号的接口去确定. 在三星2440的DATASHEET中memory ...

随机推荐

  1. 关于前端build工具

    第一.build工具的核心就是帮你安装和帮你做事.安装类工具:Npm.Bower.Yeoman等          做事类工具:Node.Grunt.gulp.Webpack等 安装类工具几乎什么东西 ...

  2. 循序渐进Python3(十一) --6--  Ajax 实现跨域请求 jsonp 和 cors

    Ajax操作如何实现跨域请求?       Ajax (XMLHttpRequest)请求受到同源策略的限制.       Ajax通过XMLHttpRequest能够与远程的服务器进行信息交互,另外 ...

  3. 循序渐进Python3(十一) --5-- 同源策略

    一.什么是同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能.它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript ...

  4. datastage小结

    1.当使用datastage组建 look_up时,得注意sparse功能,当primary link过来的数据关联不到时,传过来的值并不是null,而是空串.... 解决方法,可在transfer里 ...

  5. ZOJ 3209 Treasure Map (Dancing Links)

    Treasure Map Time Limit: 2 Seconds      Memory Limit: 32768 KB Your boss once had got many copies of ...

  6. asp.net web.config 设置Session过期时间

    在Asp.net中,可以有四处设置Session的过期时间:(原文作者:望月狼地址:http://www.cnblogs.com/wangyuelang0526/) 一.全局网站(即服务器)级 IIS ...

  7. 纯JS实现中国行政区域上下联动选择地址

    一.实现目的: 如标题所述,通过JS来实现地址的选取,上一篇博客介绍的方式是通过java读取txt资源文件来实现地址的选择,通过ajax方式访问服务器实现省市区联动.此篇中将介绍如何使用JS实现相同功 ...

  8. 什么是遗传方差(Genetic variance)、加性遗传方差(Additive genetic variance)、显性遗传方差(Dominance genetic variance)、上位遗传方差(Epistatic genetic variance)

    遗传方差:遗传方差又称表型方差(phenotypic variance),通常结合基因型方差(genotype variance)和环境方差(environmental variance).遗传方差主 ...

  9. git worktree

    git clone,不管是single-branch,还是non-single-branch,如果同时存在几个clone出来的branches,随着时间的推移,不停的编译.更新.编译...每个bran ...

  10. mount: unknown filesystem type 'ntfs'

    mount: unknown filesystem type 'ntfs' 问题描述 # mount –t ntfs /dev/sdc1 /mnt/usb2 mount: unknown filesy ...