doxygen生成html文檔

一、注釋語(yǔ)法

  1. 簡(jiǎn)單注釋

    單行注釋:    ///
    多行注釋:    /**
    
  2. 文件注釋

    /**
     *  @file test.h
     *  @brief 測(cè)試doxygen
     *  @details 詳細(xì)描述
     *  詳細(xì)描述2
     *  @author ...
     *  @email 油箱
     *  @version v1.1.1
     *  @date 2020-01-10
     *  @license 版權(quán)
     */ 
    
  3. 命名空間注釋

  4. 類定義注釋

    /**
     *  @brief 測(cè)試命名空間
     */ 
    
  5. 變量/宏定義注釋

    int id_;            ///< 用戶ID
    std::string name_;  ///< 用戶名
    /// 用戶薪水
    double salary_;
    
  6. 函數(shù)注釋

    /**
     * @brief 測(cè)試函數(shù)
     *
     * @param[in] in_argv 第一個(gè)參數(shù)
     * @return 成功與否
     *  @retval 1 成功
     *  @retval 0 失敗
     * @attention 注意釋放內(nèi)存
     * @warning 測(cè)試警告
     * @execption 異常
     */
    int func_test(const std::string& in_argv){
     return 0;
    }
    
  7. 其他

    命令 說(shuō)明
    @see 參考
    @class 引用類
    @var 引用變量
    @enum 引用枚舉
    @code 代碼塊開始
    @endcode 代碼塊結(jié)束
    @bug 缺陷
    @todo TODO
    @example 使用例子說(shuō)明
    @remarks 備注說(shuō)明
    @pre 函數(shù)前置條件
    @deprecated 函數(shù)過(guò)失說(shuō)明
  8. 完整示例

/**
*  @file test.h
*  @brief 測(cè)試doxygen
*  @details 詳細(xì)描述
*  詳細(xì)描述2
*  @author ...
*  @email 油箱
*  @version v1.1.1
*  @date 2020-01-10
*  @license 版權(quán)
*/
#pragma once
#include <string>
/**
*  @brief 測(cè)試命名空間
*/ 
namespace CppNamespace
{
/// 宏定義
#define BUFSIZE 1000

/// 測(cè)試枚舉
enum CppEnum {
  SALARY_Millions,            ///< 枚舉1
  SALARY_Million_OF_Million   ///< 枚舉2
};

/**
*  @brief 測(cè)試結(jié)構(gòu)體聲明
*/
struct CppStruct{
  int id_;            ///< 用戶ID
  std::string name_;  ///< 用戶名
  /// 用戶薪水
  double salary_;
}


/**
*  @brief 測(cè)試類
*  主要用來(lái)演示doxygen類的注釋方式
*/
class CppClass
{
public:
  CppClass() {}
  ~CppClass() {}

public:
  /**
   * @brief 測(cè)試函數(shù)
   *
   * @param[in] in_argv 第一個(gè)參數(shù)
   * @return 成功與否
   *  @retval 1 成功
   *  @retval 0 失敗
   * @attention 注意釋放內(nèi)存
   * @warning 測(cè)試警告
   * @execption 異常
   */
  int func_test(const std::string& in_argv){
      return 0;
  }
private:

};
};

二、生成html文檔

  1. 安裝doxygen

    // ubuntu
    sudo apt install doxygen
    sudo apt install doxygen-gui
    sudo apt install graphviz-doc
    
  2. 使用doxywizard工具生成Doxyfile

    // 運(yùn)行doxywizard
    doxywizard
    

    2.1 填寫基本信息

    working directory:              工作目錄
    project name:                   工程名稱
    source code:                    源碼路徑,勾選遞歸遍歷
    destination directory:    html  存儲(chǔ)路徑
    
    填寫信息

    2.2 選擇Run 標(biāo)簽,執(zhí)行Run doxygen

    Run doxygen

    2.3 保存Doxyfile

     菜單->File->Save
    
  3. 生成結(jié)果目錄

    ├── html
    │   ├── html
    │   └── latex
    ├── inc
    │   └── test.h
    ├── readme.md
    ├── src
    │   └── test.cpp
    
  4. 查看文檔

![查看文檔](https://upload-images.jianshu.io/upload_images/17115723-12c9090b4e3d8890.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 也可以使用docker部署nginx,查看文檔

    5.1. 下載鏡像

    docker pull nginx
    

    5.2. 創(chuàng)建nginx容器

    // 映射本地html的路徑到容器中/var/html路徑
    docker run --name nginx -d -p 80:80 -v /data:/var/html/ nginx
    // 或者不映射,使用docker cp 復(fù)制到容器中也可以
    

    5.3. 修改nginx配置文件

    docker exec -it nginx
    apt update
    apt install vim
    vim /etc/nginx/conf.d/default.conf
    // 修改如下內(nèi)容
    location / {
       root    /var/html;
       index   index.html index.htm;
    }
    // 即訪問(wèn)http://localhost:80/ nginx 會(huì)去查找/var/html/index.html
    

    5.4. reload nginx

    nginx -s reload
    

    5.5. 訪問(wèn)文檔

    http://localhost/
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容