Doxygen使用介绍
Doxygen的主頁為http://doxygen.nl/,它的license為GPL,最新發(fā)布版本為1.8.17,源代碼存放在https://github.com/doxygen/doxygen,它支持的語言包括C、C++、Objective-C、C#、Java、Python等,它支持的系統(tǒng)平臺包括Winodws、Linux、MacOS等。你既可以通過源碼編譯安裝,也可以直接通過二進制文件安裝,可從http://www.doxygen.nl/download.html 直接下載二進制文件。
Doxygen是文檔生成工具,用于從帶注釋的C++等語言源碼中生成文檔。它可產(chǎn)生的文檔格式包括HTML、LaTex、xml等。該文檔直接從源代碼中提取,這使得文檔和源代碼保持一致變得很容易。你可以配置Doxygen使其從未記錄的源文件中提取代碼結(jié)構(gòu)(You can configure doxygen to extract the code structure from undocumented source files)。Doxygen還可以通過包括依賴圖、繼承圖和協(xié)助圖來可視化各個元素直接的關(guān)系,所有這些圖都是自動生成的。你也可以使用Doxygen來創(chuàng)建常規(guī)文檔。
Doxygen使用步驟:
(1). 以下以Windows平臺為例,介紹其使用,這里主要關(guān)心怎么生成文檔,不關(guān)心其code實現(xiàn),因此直接下載二進制文件doxygen-1.8.17-setup.exe進行安裝。安裝過程中不需要什么特別設(shè)置,默認即可。安裝完后,打開命令提示符,輸入doxygen.exe,執(zhí)行結(jié)果如下,說明已正確安裝:安裝完后,在指定的安裝目錄下會有一個doxygen_manual.chm文件,此文件為用戶手冊,供大家查詢相關(guān)信息。
(2). 生成doxygen配置文件:Doxygen使用配置文件來確定其所有設(shè)置。每一個項目應(yīng)該設(shè)置它自己的配置文件。為了簡化配置文件的創(chuàng)建,Doxygen可以為你創(chuàng)建一個模板配置文件。通過執(zhí)行doxygen.exe -y或doxygen.exe -y xxx,其中xxx為配置文件的名字,如果不指定,則默認生成的配置文件名字為Doxyfile,執(zhí)行結(jié)果如下:
生成的Doxyfile文件有2000多行,可通過文本編輯器打開它。配置文件的格式類似于簡單的Makefile的格式,它由許多標簽(tag)組成,大多數(shù)標簽都給了其默認值,可根據(jù)自己實際需要進行修改。每個標簽的用法可在doxygen_manual.chm中查找,而且Doxyfile中也給出了描述。這里僅列出幾個用到的需要修改默認值的標簽:
PROJECT_NAME????????= "Doxygen_Test"
INPUT???????????????= E:/GitCode/Doxygen_Test
FILE_PATTERNS???????= *.hpp *.cpp
RECURSIVE???????????= YES
OUTPUT_DIRECTORY????= E:/GitCode/Doxygen_Test
GENERATE_LATEX??????= NO
INPUT_ENCODING??????= GB2312
設(shè)置好后的Doxyfile文件部分內(nèi)容如下:
(3). 以C++為例,編寫測試code,按照doxygen支持的格式添加注釋,所有的文件全部存放在E:/GitCode/Doxygen_Test目錄下,doxygen支持的注釋示例可參考安裝目錄下的examples目錄或doxygen_manual.chm,測試代碼頭文件api.hpp內(nèi)容如下:
#ifndef FBC_DOXYGEN_TEST_
#define FBC_DOXYGEN_TEST_/// @file api.hpp
/// @brief 以下所有的聲明全部在命名空間fbc內(nèi)
/// @author fengbingchun
/// @version 1.0.0
/// @date 2020-03-08
/// @copyright MIT
/// @since 僅作為測試用,無任何實際意義
namespace fbc {/// 設(shè)置緩存大小
#define BUFSIZE 1024 * 3/// @brief 矩形定義
typedef struct fbc_rect{int width; ///< 矩形寬int height; ///< 矩形高
} fbc_rect;/// @brief 人臉識別類
/// @details 輸入一張圖像,返回檢測到人臉圖像框位置
/// @attention 僅支持輸入bgr 3通道圖像,僅支持檢測一張人臉
class FaceRecognition {
public:FaceRecognition() = default; ///< 默認構(gòu)造函數(shù)/// @brief 帶參數(shù)的構(gòu)造函數(shù)/// @param[in] data 圖像數(shù)據(jù)首地址/// @param[in] width 圖像寬/// @param[in] height 圖像高/// @bug 內(nèi)部沒有對參數(shù)進行判斷FaceRecognition(unsigned char* data, int width, int height);/// @brief 人臉檢測/// @param[out] rect 檢測到的人臉/// @return 正常返回0,否則返回錯誤碼int Run(fbc_rect& rect);private:unsigned char* data_; ///< 圖像數(shù)據(jù)int width; ///< 圖像寬int height; ///< 圖像高
};/*** @brief 加操作* @attention 并沒有對輸入?yún)?shù)進行判斷* @param[in] rect1 矩形大小* @param[in] rect2 矩形大小* @param[out] rect3 計算結(jié)果* @return 正常執(zhí)行返回0,否則返回錯誤碼
*/
int fbc_add(const fbc_rect& rect1, const fbc_rect& rect2, fbc_rect& rect3);/// @brief 人臉檢測
/// @warning 內(nèi)部并沒有判斷是否溢出
/// @see https://blog.csdn.net/fengbingchun
/// @return 正常執(zhí)行返回0,否則返回錯誤碼
int fbc_face_detect();} // namespace fbc#endif // FBC_DOXYGEN_TEST_
(4). 生成文檔:執(zhí)行doxygen.exe Doxyfile,執(zhí)行結(jié)果如下:
執(zhí)行完后會在E:/GitCode/Doxygen_Test目錄下產(chǎn)生一個html目錄,打開里面的任一html文件,如api_8hpp.html結(jié)果如下:
?
總結(jié)
以上是生活随笔為你收集整理的Doxygen使用介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从FFmpeg 4. 2源码中提取dsh
- 下一篇: 开源库BearSSL介绍及使用