国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一款文檔生成工具:Doxygen生成

strongerHuang ? 來源:簡書 ? 作者:strongerHuang ? 2022-04-27 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

程序員的很多文檔,特別是有代碼的文檔,絕大部分都是由一款文檔生成工具【Doxygen生成。

什么是Doxygen?

Doxygen 是一個程序的文件產生工具,可將程序中的特定批注轉換成為說明文件。通常我們在寫程序時,或多或少都會寫上批注,但是對于其它人而言,要直接探索程序里的批注,與打撈鐵達尼號同樣的辛苦。 大部分有用的批注都是屬于針對函式,類別等等的說明。所以,如果能依據程序本身的結構,將批注經過處理重新整理成為一個純粹的參考手冊,對于后面利用你的程序代碼的人而言將會減少許多的負擔。不過,反過來說,整理文件的工作對于你來說,就是沉重的負擔。
簡而言之,Doxgen就是大名鼎鼎的文檔生成工具,而且是免費開源的,它使用非常方便,能提取C++Java,Objective-C,Python,IDL,PHP,C#等語言的注釋,從而生成文檔。 Doxygen 的使用可分為兩大部分。首先是特定格式的批注撰寫,第二便是利用Doxygen的工具來生成文檔。

生成文檔使用教程

1、安裝

Linux下可以通過apt install doxygen安裝命令行工具,然后用apt install doxygen-gui安裝圖形界面。 對Linux用戶來說,命令行工具可以通過doxygen命令運行,而圖形界面可以通過doxywizard命令運行。 Windows 用戶的下載地址:http://www.doxygen.nl/download.html 2、基本使用 圖形工具的基本使用如下圖所示,有非常多的配置選項,這里我們只填入必要的配置,其它配置都用默認值。

42e1a25e-c5c2-11ec-bce3-dac502259ad0.jpg

doxywizard使用步驟

42ef3644-c5c2-11ec-bce3-dac502259ad0.jpg

doxywizard使用步驟

工作目錄如下:

.
├──out
└── src
└── math.h

其中math.h代碼如下:

/*! file math.h */

/*!
用于求一個角度的sin值,輸入是字符串以便同時支持弧度制和角度制表示
li 弧度制用pi表示,例如:2pi表示一圈、0.5pi表示直角
li 角度制用d結尾,例如:360d表示一圈、90d表示直角
li 輸入也可以是數值,例如:輸入3.14159大約表示180度

param a 用弧度制或角度制表示都行,字符串必須用'?'表示結束
param[out] res 是輸出參數,用于保存sin運算的結果


eturn 錯誤碼,0表示成功,其它表示失敗

	odo 在xxx的情況下存在BUG,預計下一版本修復
*/
intsin(char*a,double*res);

Doxygen生成的HTML會放到out目錄下,生成的HTML如下圖所示。

42fd5422-c5c2-11ec-bce3-dac502259ad0.jpg

HTML界面

3、保存配置 上面我們配置了一些選項,也成功生成了HTML文檔。我們希望下次代碼改動后能夠繼續沿用上次配置,那么我們可以把這些配置保存成Doxyfile文件,如下圖所示。

430ad3c2-c5c2-11ec-bce3-dac502259ad0.jpg

保存Doxyfile配置文件

4、命令行運行Doxygen 有了配置文件后我們完全可以通過命令行來生成API文檔,假設配置文件名為Doxyfile,那么我們只需要執行doxygen /path/to/Doxyfile即可生成API文檔。 通過命令行生成文檔有許多好處,其中最主要的好處就是:能夠集成到持續集成之類的自動化系統中。

為代碼編寫注釋

1.什么樣的注釋會被Doxygen識別?

Doxygen能識別這幾種風格的注釋:

/**
* ... text ...
*/

/*!
* ... text ...
*/

///
/// ... text ...
///

//!
//!... text ...
//!

文件的開頭必須有文件注釋,否則該文件不會被識別:

/*! file math.h */

2.注釋怎么寫 這里建議參考官網例子。
https://www.doxygen.nl/manual/doxygen_usage.html

為其它編程語言生成注釋

Doxygen主要支持C語言,其它語法跟C差不多的語言(如:C++/C#/PHP/Java)也能夠支持,我們稱這類語言為「C語系語言」。而哪些跟C語法差異較大的語言叫做「非C語系語言」。 對于大多非C語系語言,Doxygen都是支持的,Doxygen原生支持這些語言:IDL、Java、Javascript、C#、C、C++、D、PHP、Objective-C、Python、Fortran、VHDL。 萬一項目需要的語言(例如:Lua)Doxygen官方并不支持,那么只能自行編寫「第三方語言擴展」來支持了。 1.Doxygen官方支持的語言見下圖,文件名符合FILE_PATTERNS都會被處理。其中包括了.c、.h、.py等等。

4318b8ac-c5c2-11ec-bce3-dac502259ad0.jpg

如果我們的擴展名并不在FILE_PATTERNS內,那么可以加上去。例如我們項目下的所有.ccc文件,其實是C語言代碼(這很奇葩,舉個例子而已)。那我們可以編輯Doxyfile配置文件滿足這一需求,需要2個步驟。 (1) 在FILE_PATTERNS中添加*.ccc,如下圖:

4327f9a2-c5c2-11ec-bce3-dac502259ad0.jpg

(2) 在EXTENSION_MAPPING中添加映射規則ccc=C,如下圖,語法是ext=language,其中language可以取的值有:IDL、Java、Javascript、C#、C、C++、D、PHP、Objective-C、Python、Fortran、VHDL。

433668c0-c5c2-11ec-bce3-dac502259ad0.jpg


2.Doxygen官方不支持的語言 以Lua語言為例,它的代碼是長這樣的:
-- file lmath.h

--[[    用于求一個角度的sin值,輸入是字符串以便同時支持弧度制和角度制表示    

li 弧度制用pi表示,例如:2pi表示一圈、0.5pi表示直角    

li 角度制用d結尾,例如:360d表示一圈、90d表示直角    

li 輸入也可以是數值,例如:輸入3.14159大約表示180度

    param a 字符串類型,表示角度,用弧度制或角度制表示都行
    
eturn 返回sin運算的結果

    	odo 在xxx的情況下存在BUG,預計下一版本修復--]]function sin(a)    return 1.123end
可以看到Lua的語法既不像C也不像Python。 審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    4207

    瀏覽量

    46134
  • C++
    C++
    +關注

    關注

    22

    文章

    2124

    瀏覽量

    77112

原文標題:一款常用文檔生成工具:Doxygen

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國民技術發布N32Cube芯片配置與初始化代碼生成工具

    1月30日,國民技術(NSING)正式發布N32Cube——芯片配置與初始化代碼生成工具,讓時鐘、引腳與外設的配置目了然、輕松上手!
    的頭像 發表于 02-02 15:26 ?548次閱讀
    國民技術發布N32Cube芯片配置與初始化代碼<b class='flag-5'>生成</b><b class='flag-5'>工具</b>

    請問CW32系列MCU的調試工具是哪一款

    CW32系列MCU的調試工具是哪一款
    發表于 01-07 07:11

    如何選擇適合的智駕仿真工具進行場景生成和測試?

    工具的性能與特點,以幫助開發者優化自動駕駛系統的測試效率與安全性。 在選擇適合的智駕仿真工具進行場景生成和測試時,開發者需要對工具的多項特性進行全面理解和評估。 首先,高精度場景重建是
    的頭像 發表于 11-25 10:32 ?375次閱讀
    如何選擇適合的智駕仿真<b class='flag-5'>工具</b>進行場景<b class='flag-5'>生成</b>和測試?

    不只有AI協作編程(Vibe Coding):生成式系統級芯片(GenSoC)將如何把生成式設計推向硬件層面

    但是否能將這種生成式的、目標驅動的方法從軟件層向下延伸呢?這理念是否可以直接應用于硬件本身呢?通過GenSoC,開發者可用自然語言或高級模型描述系統行為,XMOS的工具鏈將自動生成
    的頭像 發表于 11-07 14:04 ?533次閱讀

    真正免費的AI生成PPT工具盤點:告別收費陷阱

    的戰斗機",其他9工具也各有絕活,保證讓你告別收費陷阱,輕松做出專業級PPT! 、AiPPT:句話生成PPT的"時間管理大師"
    的頭像 發表于 10-30 15:43 ?6543次閱讀
    真正免費的AI<b class='flag-5'>生成</b>PPT<b class='flag-5'>工具</b>盤點:告別收費陷阱

    英飛凌IPOSIM平臺加入基于SPICE的模型生成工具,助力提升系統級仿真精度

    與熱特性。目前,該平臺已集成一款基于SPICE(電路仿真程序)的模型生成工具,可將外部電路和柵極驅動器選型納入系統級仿真。該工具通過充分考慮器件的非線性半導體物理特
    的頭像 發表于 10-27 17:03 ?567次閱讀
    英飛凌IPOSIM平臺加入基于SPICE的模型<b class='flag-5'>生成</b><b class='flag-5'>工具</b>,助力提升系統級仿真精度

    如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?

    如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?
    發表于 08-27 06:48

    HarmonyOS AI輔助編程工具(CodeGenie)頁面生成

    添加。 針對已有UI布局文件(XML)的應用,當前提供UI Generator能力,可以快速生成對應的HarmonyOS UI代碼。 以上材料主要參考引用HarmonyOS官方文檔
    發表于 08-13 10:38

    生成式 AI 重塑自動駕駛仿真:4D 場景生成技術的突破與實踐

    生成式AI驅動的4D場景技術正解決傳統方法效率低、覆蓋不足等痛點,如何通過NeRF、3D高斯潑濺等技術實現高保真動態建模?高效生成極端天氣等長尾場景?本文為您系統梳理AI驅動的4D場景生成體系及其在自動駕駛仿真中的實踐價值。
    的頭像 發表于 08-06 11:20 ?5151次閱讀
    <b class='flag-5'>生成</b>式 AI 重塑自動駕駛仿真:4D 場景<b class='flag-5'>生成</b>技術的突破與實踐

    HarmonyOS AI輔助編程工具(CodeGenie)UI生成

    Project From... 打開UI Generator工具,首次使用需要閱讀并確認用戶協議,確認后可繼續使用。 輸入待配置項路徑,點擊Next進入下步。 待配置項 說明 Installation
    發表于 07-10 11:51

    生成式AI如何重塑設計思維與品牌創新?從工具到認知革命的躍遷

    當MidJourney生成的視覺方案出現在國際設計獎項的決賽名單,當Adobe Firefly成為設計師的標配工具個問題正從行業邊緣走向中心:生成式人工智能(GAI)究竟在解構還是
    的頭像 發表于 05-30 15:55 ?639次閱讀

    超125游戲和應用支持DLSS 4多幀生成

    在 COMPUTEX 2025,NVIDIA 發布多項內容。現在已有超過 125 游戲和應用支持 DLSS 4 多幀生成,并有 10 新游戲即將發布,《毀滅戰士:黑暗時代》將于 6 月更新支持路徑追蹤與 DLSS 光線重建,
    的頭像 發表于 05-22 10:10 ?1523次閱讀

    基于RK3576開發板的二維碼生成

    介紹了如何快速上手二維碼生成,包括源碼工程下載、開發環境搭建、例程編譯與運行。通過EASY-EAI API,用戶可輕松生成二維碼圖片,API封裝了二維碼生成工具,提供了詳細的調用說明和
    的頭像 發表于 05-10 15:19 ?1119次閱讀
    基于RK3576開發板的二維碼<b class='flag-5'>生成</b>

    NVIDIA助力影眸科技3D生成工具Rodin升級

    AI、計算機視覺技術在大眾娛樂市場的推廣應用,其 3D 生成工具 Rodin(Hyper3d.ai)去年 6 月發布后迅速突破了百萬用戶量級,背后技術論文 CLAY 還提名了 SIGGRAPH 最佳論文
    的頭像 發表于 04-27 15:09 ?1293次閱讀

    ?Diffusion生成式動作引擎技術解析

    Diffusion生成式動作引擎 Diffusion生成式動作引擎是種基于擴散模型(Diffusion Models)的生成式人工智能技術,專注于
    的頭像 發表于 03-17 15:14 ?3046次閱讀