在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    3349

    瀏覽量

    42500
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73651

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    生成式AI工具作用

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

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

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

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

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

    AD軟件如何生成PCB網表

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

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

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

    阿里云視頻生成技術創新!視頻生成使用了哪些AI技術和算法

    電子發燒友網報道(文/李彎彎)日前,阿里云宣布通義實驗室研發的視頻生成模型EMO正式上線通義App,免費對所有人開放。借助這功能,用戶可以在歌曲、熱梗、表情包中任選一款模板,然后通過上傳
    的頭像 發表于 05-08 00:07 ?3376次閱讀

    NVIDIA生成式AI研究實現在1秒內生成3D形狀

    NVIDIA 研究人員使 LATTE3D (一款最新文本轉 3D 生成式 AI 模型)實現雙倍加速。
    的頭像 發表于 03-27 10:28 ?498次閱讀
    NVIDIA<b class='flag-5'>生成</b>式AI研究實現在1秒內<b class='flag-5'>生成</b>3D形狀

    【鴻蒙】NAPI 框架生成工具實現流程

    NAPI 框架生成工具 可以根據用戶指定路徑下的 ts(typescript)接口文件生成 NAPI 框架代碼、業務代碼框架、GN 文件等。在開發 JS 應用與 NAPI 間接口時
    的頭像 發表于 02-28 17:00 ?694次閱讀
    【鴻蒙】NAPI 框架<b class='flag-5'>生成</b><b class='flag-5'>工具</b>實現流程

    OpenAI 在 AI 生成視頻領域扔出枚“王炸”,視頻生成模型“Sora”

    ABSTRACT摘要2月16日凌晨,也就是中國大年初七,OpenAI在AI生成視頻領域扔出枚“王炸”,宣布推出全新的生成式人工智能模型“Sora”。這家舊金山公司周四推出的該工具使用
    的頭像 發表于 02-22 08:25 ?390次閱讀
    OpenAI 在 AI <b class='flag-5'>生成</b>視頻領域扔出<b class='flag-5'>一</b>枚“王炸”,視頻<b class='flag-5'>生成</b>模型“Sora”

    OpenAI發布Sora模型,瞬間生成高清大片

    近日,人工智能領域的領軍企業OpenAI發布了一款名為“Sora”的視頻生成AI模型,再次展示了其在AI技術領域的創新實力。Sora以其出色的視頻生成能力,瞬間成為業界的焦點。
    的頭像 發表于 02-20 13:33 ?820次閱讀

    谷歌推出圖像生成工具ImageFX,提升圖像質量

    作為實驗室的新興工具,ImageFX 允許用戶借助簡潔的文字指令來創作圖像。經過前期試驗,該團隊認為對生成型人工智能工具來說最關鍵的是如何啟發并鼓勵用戶挖掘和實踐創意想法。
    的頭像 發表于 02-02 14:18 ?679次閱讀

    沃爾瑪推出生成式人工智能工具

    在拉斯維加斯舉辦的2024年消費電子展上,全球最大的零售商沃爾瑪發布了一款最新的AI技術產品。該公司推出了生成式人工智能工具,這
    的頭像 發表于 01-10 14:58 ?1495次閱讀

    labview生成exe后報表不能用

    LabVIEW是一款流程化的編程語言和開發環境,廣泛應用于工業自動化、實驗室研究、儀器儀表等領域。通過LabVIEW開發的程序可以生成可執行文件(.exe),方便用戶在沒有安裝LabVIEW開發環境
    的頭像 發表于 01-04 15:59 ?2223次閱讀
    主站蜘蛛池模板: 免费看黄资源大全高清| 色人人| 四虎影片国产精品8848| 亚洲a在线观看| 久久久伊香蕉网站| 奇米在线| 精品一区二区三区视频| 欧美日韩一区二区三区视频在线观看| 毛片官网| 免费一级毛片正在播放| 精品国产自在现线看久久| 欧美三级大片在线观看| 午夜观看| 男人的亚洲天堂| 香蕉黄色网| 成人av电影在线| 欧美性hd| 日韩免费在线视频| 未满十八18周岁禁止免费国产| 亚洲一区二区三区深夜天堂| 一卡二卡卡四卡无人区中文 | 亚洲精品理论| 在线观看中文字幕一区| 欧美一级片观看| 奇米福利视频| 亚洲国内精品| 又大又粗进出白浆直流动态图| 49pao强力免费打造在线高清| 亚洲人成电影| 免费人成网址在线观看国内| 2017av在线| 视频在线一区| 久久久99精品免费观看精品| 国产高清免费在线观看| 台湾佬自偷自拍情侣在线| 国产色网| 国产h在线播放| 久久青青成人亚洲精品| 1024人成网色www| 欧美一级精品高清在线观看| 久久久久亚洲香蕉网|