Ubuntu系統使用Doxygen生成文件
1 簡介:
Doxygen是一種開源跨平臺的,以類似JavaDoc風格描述的文件系統. Doxgen可以從一套原始檔開始,生成HTML格式的線上類瀏覽器,或離線的LATEX、RTF參考手冊。LATEX也可以轉成PDF. Doxygen 的使用可分為兩大部分。首先是特定格式的批註撰寫,第二便是利用Doxygen的工具來產生檔案。
1.1 語言支援
- C/C++
- Java
- Objective-C
- Python
- IDL (Corba, Microsoft及KDE-DCOP型別)
- Fortran
- VHDL
- PHP
- C#
1.2 生成的文件格式
- HTML
- XML
- LaTeX
- RTF (MS-Word), 可以用作轉pdf
- PostScript
- Unix Man Page
2 安裝
2.1 Ubuntu/Debian安裝
sudo apt-get install doxygen
2.2 原始碼安裝
可在官網下載包: 如doxygen-1.7.4.linux.bin.tar.gz
命令:
tar xvfz doxygen-1.7.4.linux.bin.tar.gz
cd doxygen-1.7.4
./configure
make
sudo make install
3 配置
3.1 生成配置檔案
首先進入到專案目錄(最少是你要生成文件的所有程式碼的父級目錄):doxygen -g
該命令會在當前路徑生成一個名為Doxyfile配置檔案.
Doxyfile 檔案內容非常多,大概 1000 多行,不過其中約 4/5 都是註釋,每個配置選項都有一段詳細的註釋。日後,如果對 Doxygen 各配置選項的意義有一定了解,可以在生成配置檔案的命令中新增 "-s" 選項,生成不含註釋的配置檔案,操作如下:
doxygen -s -g
3.2 常用配置
執行完上面的生成命令, 已經有個模板Doxyfile,可以根據需要更改相應設定:# 專案名稱,將作為於所生成的程式文件首頁標題 PROJECT_NAME = “Test # 文件版本號,可對應於專案版本號,譬如 svn、cvs 所生成的專案版本號 PROJECT_NUMBER = "1.0.0 # 程式文件輸出目錄 OUTPUT_DIRECTORY = out/ # 程式文件語言環境 OUTPUT_LANGUAGE = Chinese # 如果是製作 C 程式文件,該選項必須設為 YES,否則預設生成 C++ 文件格式 OPTIMIZE_OUTPUT_FOR_C = YES # 對於使用 typedef 定義的結構體、列舉、聯合等資料型別,只按照 typedef 定義的型別名進行文件化 TYPEDEF_HIDES_STRUCT = YES # 在 C++ 程式文件中,該值可以設定為 NO,而在 C 程式文件中,由於 C 語言沒有所謂的域/名字空間這樣的概念,所以此處設定為 YES HIDE_SCOPE_NAMES = YES # 讓 doxygen 靜悄悄地為你生成文件,只有出現警告或錯誤時,才在終端輸出提示資訊 QUIET = YES # 只對標頭檔案中的文件化資訊生成程式文件 FILE_PATTERNS = *.h # 遞迴遍歷當前目錄的子目錄,尋找被文件化的程式原始檔 RECURSIVE = YES # 示例程式目錄 EXAMPLE_PATH = example/ # 示例程式的頭文件 (.h 檔案) 與實現文件 (.c 檔案) 都作為程式文件化物件 EXAMPLE_PATTERNS = *.c *.h # 遞迴遍歷示例程式目錄的子目錄,尋找被文件化的程式原始檔 EXAMPLE_RECURSIVE = YES # 允許程式文件中顯示本文件化的函式相互呼叫關係 REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES REFERENCES_LINK_SOURCE = YES # 生成 latex 格式的程式文件 GENERATE_LATEX = YES # 在程式文件中允許以圖例形式顯示函式呼叫關係,前提是你已經安裝了 graphviz 軟體包 HAVE_DOT = YES CALL_GRAPH = YES CALLER_GRAPH = YES #讓doxygen從配置檔案所在的資料夾開始,遞迴地搜尋所有的子目錄及原始檔 RECURSIVE = YES #在最後生成的文件中,把所有的原始碼包含在其中 SOURCE_BROWSER = YES $這會在HTML文件中,新增一個側邊欄,並以樹狀結構顯示包、類、介面等的關係 GENERATE_TREEVIEW = ALL
其實基本使用者只需要下面修改5個地方:
1.projectName名字
2.生成的檔案格式,因為只需要html格式的文件,所以搜尋LaTeX,把其輸出改為no即可,就是隻生成html格式的文件.
3.RECURSIVE = YES 這可以讓doxygen從配置檔案所在的資料夾開始,遞迴地搜尋所有的子目錄及原始檔
4.EXAMPLE_RECURSIVE忽略資料夾 EXCLUDE忽略檔案 一般EXCLUDE和EXAMPLE_RECURSIVE配合使用(在文章最下部會有使用例項截圖)
5.mainpage:在mainpage.h檔案中寫完整的檔案路徑才可從mainpage跳轉,但是最後的檔名後邊不能新增類似.java(在文章最下部會有使用例項截圖)
4 填寫註釋
Doxygen就是從原始碼檔案的註釋中提取文件. 所以生成文件之前, 就是要按照Doxygen的風格來編寫註釋,網上一搜會有很多標準的Doxygen註釋規範.(在文章最下部會有java使用例項截圖)5 程式文件生成
在上面生成的Doxyfile所在的路徑, 輸入doxygen your-cfg-filename
如果沒有修改名字的話,其實就是
doxygen Doxyfile
your-cfg-filename 是 Doxygen 配置檔名,如果是使用 "doxygen -g" 生成的預設配置檔案 -- Doxyfile,那麼可以在終端裡僅鍵入 "doxygen" 命令即可生成程式文件。
如果按照本文配置, 在out目錄下, 會有html, latex資料夾. 使用瀏覽器開啟html目錄中的 index.html 檔案,即可看到自己的工作成果。
6 轉為pdf
如果裝了latex環境, 到latex下make即可生成pdf. 對於需要中文環境的, 請參考: Linux下Doxygen生成中文pdf文件7 例項連結地址
https://fossies.org/dox/lucene-7.1.0-src/
8 參考地址
http://www.doxygen.nl/http://www.mikewootc.com/wiki/tool/sw_develop/doxygen_get_start.html
9 寄語
這該是比較完整的Doxygen使用,除了註釋規範(網上都有,本文章只有類和方法註釋例項圖一張,在最底部),自己做個筆記,希望對你也有幫助!
相關推薦
Ubuntu系統使用Doxygen生成文件
1 簡介: Doxygen是一種開源跨平臺的,以類似JavaDoc風格描述的文件系統. Doxgen可以從一套原始檔開始,生成HTML格式的線上類瀏覽器,或離線的LATEX、RTF參考手冊。LATEX也可以轉成PDF. Doxygen 的使用可分為兩大部分。首先是特定
doxygen使用~~用這個註釋自動生成文件,炒雞方便
doxygen 使用 + C/C++註釋規範 1、安裝 yum -y install doxygen #基本安裝 yum -y install doxygen-doxywizard #圖形介面安裝 2、生成配置檔案 doxygen -g [配置檔名] #預設檔名為D
JAVA生成文件在linux下文件名亂碼
bsp ron -s style 成就 har digg window Coding TOMCAT + Java + Linux 問題描述 在JAVA中生成文件,文件名生成在windows下就正常,但是在linux下生成就亂碼。 解決方式 代碼中文件名用這樣的方式轉換 S
php把數組、字符串 生成文件
字符 turn 代碼 nbsp col name style 數組 die 生成的代碼 data/ss.php <?php return array ( ‘name‘ => ‘1111‘, ‘title‘ => ‘2222‘, ); p
解決新版本webpack vue-cli生成文件沒有dev.server.js問題
code 新版 cnblogs 找到 routes func blog 生成 markdown 新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios =
生成文件 權限 以及ftp 傳數據(一)
相關 png logs inux 分享 clas 代碼生成 www. yum 一 、PHP 代碼生成文件 報錯:沒有權限 解決 先判斷是否有這個文件 沒有新建並賦權限 二、ftp:賬號密碼 linux 登錄 檢查服務器是否安裝ftp 沒有安裝
業務類軟體的分模組調式和生成文件
1.一般系統模組的簡要分析: 1.前端 前端主要是不斷提供模擬報文,提供不同標準的資料格式報文如json.xml 等,所以這裡主要是標準格式的封裝。 2.1-2 如何通訊呢?這裡是網路協議。 一般採用的是HTTP協議等,拼裝成一定的資料結構型別。 這裡假設
Python程式設計:使用pydoc生成文件註釋
pydoc是python自帶的一個文件生成工具,可以提取註釋 如果有三個引號的註釋方法,會優先使用三個點的註釋,其次才展示#號的註釋 示例使用的程式碼pydoc_demo.py,包含一個函式,一個類 # -*- coding: utf-8 -*- # @Date :
WebApi實現驗證授權Token,WebApi生成文件等(轉)
using System; using System.Linq; using System.Web; using System.Web.Http; using System.Web.Security; namespace OtherApi.Auth { public c
真實項目中VS2015中自建T4模板生成文件的使用
eric 文件的 tee order ems put collect Language utili 有可能許多小夥伴們發現,vs2015和2012的自帶T4模板中的.tt文件改變非常之多,如果僅僅copyEF系統自己生成的模板文件,那可累了。以下是我自己整理的在2012和2
kindeditor 4 指定生成文件的時間日期/動態獲取My97的時間
info 獲取 turn eal dex iter val pattern calendar 最近後臺要求要指定上傳附件的時間日期,編輯器是kindeditor,仔細研究後發現可以借助clickToolbar事件,傳遞時間到後臺,但是中途發現傳遞的時間總是初始化my97的時
php程式碼自動生成文件-phpDocumentor
概述 PHPDocumentor 能夠由你的程式碼自動生成文件。是一個用PHP寫的強盛的文件主動生成物件,可以直接使用命令來處理。對有範例解釋的php順序,可以快速生成具有佈局清楚、彼此參照、索引等功效的API文件。 官網:phpDocumentor GitHub上的phpDoc
生成文件的MD5、SHA、SHA256
生成文件 md5sum sun linux系統 windows csdn sha2 lin tps 生成文件的MD5、SHA、SHA256 Linux系統生成MD5、SHA、SHA256md5sum file1.zip >> MD5.txt sha1
Beego搭建api服務,自動生成文件。
在網上找了一些例子,為了應用方便,自己簡單記錄一下。前提條件:配置GOPATH、GOBIN、PATH 一、檢查環境配置,很重要! Ubuntu16.04下配置(~/.bashrc)如下: export GOPATH=/home/user/go export GOBIN=$
使用Swagger自動生成文件
Swagger 是什麼? Swagger 是一個規範和完整的框架,用於生成、描述、呼叫和視覺化 RESTful 風格的 Web 服務。 Springfox 的前身是 swagger-springmvc,是一個開源的 API doc 框架,可以將我們的 Controller
SwaggerUI 自動生成文件
swagger ui是一個API線上文件生成和測試的利器,目前發現最好用的。 為什麼好用?支援API自動生成同步的線上文件, 這些文件可用於專案內部API稽核,方便測試人員瞭解API,這些文件可作為客戶產品文件的一部分進行釋出,支援API規範生成程式碼,生成的
SpringMVC中使用swagger為api介面生成文件
1.新增swagger的maven依賴 <dependency> <groupId>com.fasterxml.jackson.core</groupId>
swagger2使用自定義註解生成文件
在開發專案中,由於歷史或各種原因(日誌/攔截等)在controller層使用了自定義註解,此時想用swagger2生成api文件時會碰到一個很頭疼的重複說明問題那怎麼能將@ApiOperation中的value替換為@Explain註解中的value呢~/**********
Windows下使用luaDoc給lua生成文件
作者: 楊粼波Email: [email protected] 首先需要安裝lua,Windows下自然是安裝Lua For Windows咯,下載地址:http://code.google.com/p/luaforwindows/安裝以後它已經包含了luadoc,所以無需我們
Objective-C 自動生成文件工具:appledoc
由於最近瑣事比較多,所以好久沒有寫文章了。今天我們聊一聊Objective-C自動生成文件。 做專案的人多了,就需要文件了。手工寫文件是一件苦差事,但是我們也有從原始碼中抽取註釋生成文件的專用工具。 經過查詢,比較大眾的有三個: doxygen:適於生成html文件與pdf文件