1. 程式人生 > >Ubuntu系統使用Doxygen生成文件

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/

參考地址

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文件