91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

什么是Doxygen?

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

生成文檔使用教程

1、安裝

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

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結(jié)尾,例如:360d表示一圈、90d表示直角
li 輸入也可以是數(shù)值,例如:輸入3.14159大約表示180度

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


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

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

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

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

HTML界面

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

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

保存Doxyfile配置文件

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

為代碼編寫注釋

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

Doxygen能識別這幾種風(fēng)格的注釋:

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

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

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

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

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

/*! file math.h */

2.注釋怎么寫 這里建議參考官網(wǎng)例子。
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官方并不支持,那么只能自行編寫「第三方語言擴(kuò)展」來支持了。 1.Doxygen官方支持的語言見下圖,文件名符合FILE_PATTERNS都會被處理。其中包括了.c、.h、.py等等。

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

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

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

(2) 在EXTENSION_MAPPING中添加映射規(guī)則ccc=C,如下圖,語法是ext=language,其中l(wèi)anguage可以取的值有: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結(jié)尾,例如:360d表示一圈、90d表示直角    

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

    param a 字符串類型,表示角度,用弧度制或角度制表示都行
    
eturn 返回sin運(yùn)算的結(jié)果

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    4209

    瀏覽量

    46179
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77147

原文標(biāo)題:一款常用文檔生成工具:Doxygen

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    國民技術(shù)發(fā)布N32Cube芯片配置與初始化代碼生成工具

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

    請問CW32系列MCU的調(diào)試工具是哪一款?

    CW32系列MCU的調(diào)試工具是哪一款?
    發(fā)表于 01-07 07:11

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

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

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

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

    真正免費(fèi)的AI生成PPT工具盤點(diǎn):告別收費(fèi)陷阱

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

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

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

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

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

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

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

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

    生成式AI驅(qū)動的4D場景技術(shù)正解決傳統(tǒng)方法效率低、覆蓋不足等痛點(diǎn),如何通過NeRF、3D高斯?jié)姙R等技術(shù)實(shí)現(xiàn)高保真動態(tài)建模?高效生成極端天氣等長尾場景?本文為您系統(tǒng)梳理AI驅(qū)動的4D場景生成體系及其在自動駕駛仿真中的實(shí)踐價值。
    的頭像 發(fā)表于 08-06 11:20 ?5172次閱讀
    <b class='flag-5'>生成</b>式 AI 重塑自動駕駛仿真:4D 場景<b class='flag-5'>生成</b>技術(shù)的突破與實(shí)踐

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

    Project From... 打開UI Generator工具,首次使用需要閱讀并確認(rèn)用戶協(xié)議,確認(rèn)后可繼續(xù)使用。 輸入待配置項路徑,點(diǎn)擊Next進(jìn)入下步。 待配置項 說明 Installation
    發(fā)表于 07-10 11:51

    生成式AI如何重塑設(shè)計思維與品牌創(chuàng)新?從工具到認(rèn)知革命的躍遷

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

    超125游戲和應(yīng)用支持DLSS 4多幀生成

    在 COMPUTEX 2025,NVIDIA 發(fā)布多項內(nèi)容?,F(xiàn)在已有超過 125 游戲和應(yīng)用支持 DLSS 4 多幀生成,并有 10 新游戲即將發(fā)布,《毀滅戰(zhàn)士:黑暗時代》將于 6 月更新支持路徑追蹤與 DLSS 光線重建,
    的頭像 發(fā)表于 05-22 10:10 ?1533次閱讀

    基于RK3576開發(fā)板的二維碼生成

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

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

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

    ?Diffusion生成式動作引擎技術(shù)解析

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