doxygen的使用(二)给代码添加javadoc风格的注释

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

本文记一下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[16];    ///< IP地址
    int port;        ///< 端口号
}Adddess;

/**
 * @enum
 */
enum EmDeviceType
{
    Device_28181=0,    ///< 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[128]);

/**
 * @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格式有支持。

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

时间: 2024-08-16 12:41:47

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

详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航

本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected和onTabReselected方法来关联Fragment.代码如下: Java代码 private class MyTabListener implements ActionBar.TabListener { private TabCon

Android 纯代码添加点击效果

项目中很多的Button, 同时配置很多按钮切图,Selector是不是很烦, 使用下面这个类,就可以直接为Button增加点击效果. 不用多个图片,不用Selector. 用法:Button.setOnTouchListener(Effect_Click.getInstance()); 效果图:    源码: class Effect_Click implements OnTouchListener { private static Effect_Click Effect_Click; pub

多线程二(GCD)代码笔记

// // TWFXViewController.h // Demo_GCD // // Created by Lion User on 12-12-11. // Copyright (c) 2012年 Lion User. All rights reserved. // #import <UIKit/UIKit.h> @interface TWFXViewController : UIViewController @property (retain, nonatomic) IBOutlet

微信公众平台开发(2)扫描二维码添加公众账号

作者做过微信二维码和地理信息的程序,本章介绍一下获取二维码和处理用户扫描二维码的过程. 要想开通生成二维码api必须是认证的服务号,如果没有可以采用公众平台测试账号,地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 登陆后台的界面如图: 终于看到了传说中的appID,appsecret. 当微信用户扫描二维码时,实现两个功能: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者.

如何将 JavaScript 代码添加到网页中,以及 &lt;script&gt; 标签的属性

Hello, world! 本教程的这一部分内容是关于 JavaScript 语言本身的. 但是,我们需要一个工作环境来运行我们的脚本,由于本教程是在线的,所以浏览器是一个不错的选择.我们会尽可能少地使用浏览器特定的命令(比如 alert),所以如果你打算专注于另一个环境(比如 Node.js),你就不必多花时间来关心这些特定指令了.我们将在本教程的下一部分中专注于浏览器中的 JavaScript. 首先,让我们看看如何将脚本添加到网页上.对于服务器端环境(如 Node.js),你只需要使用诸如

代码添加一个按钮及监听方法

有时候无法从控件中拖拽一个按钮到storyboard,必须用编写代码方式添加按钮: 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after loading the view, typically from a nib. 5 //计算出展示表情区域的宽和 展示区距顶部的高度+10个偏移量 6 //添加按钮 9 //创建button 10 addBtn = [[UIButton alloc

iOS -- 用代码添加按钮

#import "ViewController.h" @interface ViewController () @end @implementation ViewController #pragma mark 用代码添加按钮 // 系统默认程序开始时就加载此方法 - (void)viewDidLoad{ [super viewDidLoad]; // 1.创建按钮 UIButton *button = [[UIButton alloc] init]; // 2.添加按钮 [self.v

IOS Ui控件 修改位置和尺寸,代码添加控件

所有的UI控件最终都继承自UIView,UI控件的公共属性都定义在UIView中, UIView的常见属性 UIView *superview; 获得自己的父控件对象 NSArray *subviews; 获得自己的所有子控件对象 NSInteger tag; 控件的ID(标识),父控件可以通过tag来找到对应的子控件 CGAffineTransform transform; 控件的形变属性(可以设置旋转角度.比例缩放.平移等属性) CGRect frame; 控件所在矩形框在父控件中的位置和尺

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

一.准备工作 1.1 原理图 CONFIG_DM9000_BASE 片选信号是接在nGCS4引脚,若要确定网卡的基地址,则要根据片选信号的接口去确定. 在三星2440的DATASHEET中memory control这一章的Figure 5-1. S3C2440A Memory Map after Reset 已经说明了片选4的地址,如下: 只要发出的信号在 0x20000000--0x28000000 之间,就会使得片选4引脚变为低电平.所以可以确定我们网卡的基地址为0x20000000. C