doxygen学习

参考
知乎-Doxygen快速入门
Doxygen-官网文档

总结了最重要的几个命令,最终效果如下:
在这里插入图片描述

代码原型:
/**
 * @brief 函数说明 标准注释示例
 * @author 作者名
 * @date  2022-6-8
 * @param[in] in1 输入参数1说明
 * @param[in] in2 输入参数2说明
 * @param[out] out1 输出参数1说明
 * @param[out] out2 输出参数2说明
 * @return int 返回类型为整型
 * @retval 1 成功 0 失败
 */
int stand_function(int in1,int in2,int out1,int out2){
    return 0;
}

1. 分组功能

在这里插入图片描述

如上图所示cm_driver(通信驱动),encoder_driver,led_driver都属于HardWare Driver组

实现如下:
定义一个组 ‘hw’

/** @defgroup hw HardWare Driver
 *  @brief 硬件驱动
 */

再定义一个组'communication_Driver'然后用@ingroup继承'hw'/*! \addtogroup communication_Driver cm_driver
 *  @ingroup hw
 *  @brief 通信驱动
 *  Additional documention for group 'hw'
 *  @{
 */

2. 代码架构分层示意图

doxygen可以将系统中的各个模块的组织结构以下图的形式展示出来
通过鼠标点击对应的方框即可去到对应的模块说明界面
在这里插入图片描述

实现如下:
主要通过\extends命令实现,然后在doxygen的软件中也要开启相应的功能

/**
 * @brief 驱动抽象类
 * 
 */
struct abstract_driver{
//....
}

/**
 * @brief CAN驱动
 * \extends abstract_driver
 */
struct CAN_driver{
    struct abstract_driver drive;
};


/**
 * @brief SCI驱动
 * \extends abstract_driver
 */
struct SCI_driver{
    struct abstract_driver drive;
};

3. 各种标签的使用

在这里插入图片描述

/*! 
 *  @brief     bug和warning测试
 *  @details   This class is used to demonstrate a number of section commands.
 *  @author    史提芬-丁
 *  @author    史提芬-周
 *  @version   4.1a
 *  @date      1990-2011
 *  @pre       First initialize the system.
 *  @bug       Not all memory is freed when deleting an object of this class.
 *  @warning   Improper use can crash your application
 *  @copyright GNU Public License.
 *  @note      This is a tips.
 */
void bug_and_war();

4. 枚举

在这里插入图片描述

/**
 * @brief Color enum
 * \n 
 * 枚举测试
 */
typedef enum Color{
    RED = 1, /*!< VAL = 1 */
    BULE = 3 /*!< VAL = 3 */
}Color;

5. example

在这里插入图片描述

/**
 * \example 
 * This is an example of how to use 
 * the test_example.
 * \n\n
 * 这个命令应该是针对整个文件的,如果
 * 当前文件添加了此命令那么这个源文件
 * 就会作为一个example.
 * 
 */

6. 针对此文件的说明

在这里插入图片描述

/**
 * @file file_test.h
 * @author 史提芬-丁 (you@domain.com)
 * @brief file文件命令测试
 * @version 0.1
 * @date 2022-06-08
 * 
 * @copyright Copyright (c) 2022
 * 
 */

7. markdown支持

在这里插入图片描述

/**
 *  \def MAX(x,y)
 *  level1 header:比较x,y中的较大值
 *  ========================
 *  level2 header:
 * ------------------------
 * # header 1
 * ## header 2
 * ### header 3
 * #### header 4
 *  添加宏定义说明命令
 */
#define MAX(x,y) ((x)>(y)?(x):(y))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值