女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    3610

    瀏覽量

    43483
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74780

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    用對軟件,DeepSeek + Kimi,PPT生成秘籍!

    和大家分享下如何利用這兩個工具快速制作出精美的PPT。 ,DeepSeek:快速生成PPT大綱 DeepSeek是一款智能AI助手,能夠
    的頭像 發表于 02-19 16:13 ?1558次閱讀
    用對軟件,DeepSeek + Kimi,PPT<b class='flag-5'>一</b>鍵<b class='flag-5'>生成</b>秘籍!

    生成式AI工具好用嗎

    當下,生成式AI工具正以其強大的內容生成能力,為用戶帶來了前所未有的便捷與創新。那么,生成式AI工具到底好用嗎?答案無疑是肯定的。接下來,A
    的頭像 發表于 01-17 09:54 ?383次閱讀

    國內生成式AI備案數量突破300

    截至2024年底,我國生成式人工智能服務領域取得了顯著進展,國家互聯網信息辦公室備案的生成式AI服務總數已達到302,標志著該領域正以前所未有的速度蓬勃發展。 在過去的年里,新增備
    的頭像 發表于 01-09 11:14 ?776次閱讀

    Google兩先進生成式AI模型登陸Vertex AI平臺

    新的 AI 模型,包括最先進的視頻生成模型Veo以及最高品質的圖像生成模型Imagen 3。近日,我們在 Google Cloud 上進步推動這勢頭,客戶可以在Vertex AI平
    的頭像 發表于 12-30 09:56 ?531次閱讀

    在算力魔方上運行Genesis:一款顛覆性開源生成式物理引擎!

    作者:算力魔方創始人 劉力 ,Genesis簡介 ? Genesis是一款由19個頂尖科研機構聯手打造的,用于通用機器人、具身智能和物理 AI 應用的開源生成式物理引擎。它可以生成
    的頭像 發表于 12-23 18:10 ?660次閱讀
    在算力魔方上運行Genesis:<b class='flag-5'>一款</b>顛覆性開源<b class='flag-5'>生成</b>式物理引擎!

    上海新增14生成式AI服務備案

    近日,據網信上海最新消息,截至12月2日,上海市在生成式人工智能服務領域取得了新的進展,新增了14已完成備案的服務。這消息標志著上海市在推動生成式人工智能服務規范化、標準化方面取得
    的頭像 發表于 12-03 10:58 ?547次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?927次閱讀
    如何自動<b class='flag-5'>生成</b>verilog代碼

    生成式AI工具作用

    生成式AI工具是指那些能夠自動生成文本、圖像、音頻、視頻等多種類型數據的人工智能技術。在此,petacloud.ai小編為您整理生成式AI工具
    的頭像 發表于 10-28 11:19 ?639次閱讀

    AIGC生成內容的優勢與挑戰

    處理和計算機視覺等領域的快速發展,AIGC技術已經成為內容創作和分發領域的個重要趨勢。 AIGC生成內容的優勢 1. 提高內容生產的效率 AIGC技術能夠自動化地生成大量內容,這對于需要大量內容支持的行業(如新聞、廣告、娛樂等
    的頭像 發表于 10-25 15:36 ?1544次閱讀

    如果設計一款桌面的機器玩具,最吸引人的外觀與功能要有哪些?

    初步設想制作如下其中一款,有感興趣的朋友可以幫提提意見。 A一款圓敦敦的音響狀的“個人日程助手”,具備番茄鬧鐘、音樂播放、減壓交互、語言對話、工作日報生成。 B一款迷你瓦利機器人,有
    發表于 10-19 18:25

    Adobe將推出一款人工智能視頻生產工具

    Adobe即將在今年晚些時候震撼發布其最新力作——Adobe Firefly Video Model,一款專為創意專業人士打造的生成式視頻創作與編輯神器。作為Firefly圖像生成系列的新成員,該
    的頭像 發表于 09-12 16:37 ?705次閱讀

    AD軟件如何生成PCB網表

    生成PCB網表是電路設計過程中的個重要步驟,它將電路原理圖轉換為PCB布局所需的連接信息。AD(Altium Designer)軟件是一款流行的電子設計自動化(EDA)工具,它提供了
    的頭像 發表于 09-02 16:17 ?4050次閱讀

    關于Makefile自動生成-autotools的使用

    的Makefile并非日常任務,但遇見需要構建大型軟件項目時,利用工具自動生成Makefile就顯得尤為關鍵。接下來,我們將重點介紹一款自動化構建工具——Autoto
    的頭像 發表于 07-25 15:50 ?1756次閱讀
    關于Makefile自動<b class='flag-5'>生成</b>-autotools的使用

    生成對抗網絡(GANs)的原理與應用案例

    生成對抗網絡(Generative Adversarial Networks,GANs)是種由蒙特利爾大學的Ian Goodfellow等人在2014年提出的深度學習算法。GANs通過構建兩個
    的頭像 發表于 07-09 11:34 ?2120次閱讀