Doxygen初學與簡單應用
本文環境為Windows 7 x64
一直在使用javadoc,奈何c\c++,python等其他語言註釋寫的很好,但沒有工具自動生成文件。
通過同事反應Doxygen可以針對各種語言生成文件內容。隨即查閱了Doxygen的相關內容。
Doxygen介紹:
Doxygen 是一個 C++, C, Java, Objective-C、Python、IDL (CORBA 和 Microsoft flavors)、Fortran、VHDL、PHP、C#和D語言的文件生成器。可以執行在大多數類Unix系統,以及Mac OS X作業系統和Microsoft Windows 。 初始版本的Doxygen借鑑了一些老版本DOC++的程式碼;隨後,Doxygen原始碼由Dimitri van Heesch重寫。
Doxygen是一個編寫軟體參考文件的工具。 該文件是直接寫在程式碼中,因此比較容易保持更新。 Doxygen 可以交叉引用文件和程式碼,使檔案的讀者可以很容易地引用實際的程式碼。
詳細請看http://www.oschina.net/p/doxygen要想使用Doxygen,需要三大步驟
1.Doxygen及其相關內容下載
1.1Doxygen下載
由於國內牆了Doxygen的官網,但sourceforge還是可以使用
http://sourceforge.net/projects/doxygen/?source=dlp 進行下載
本文使用的為Doxygen 1.8.3.1
安裝,我們將在配置的時候使用doxywizard,Doxygen的GUI版本。
1.2HTML Help Workshop下載
如果你希望你的Doxygen自動生成chm,那麼請下載HTML Help Workshop,我們將要使用當中的hcc.exe檔案以及相關dll
http://www.microsoft.com/en-us/download/details.aspx?id=21138 進行下載
下載其中的htmlhelp.exe並安裝,記住安裝目錄,我們將在Doxygen配置時使用。
1.3 Graphviz
Graphviz在Doxygen用於自動生成類圖的工具。
登陸官網發現被牆了,只能在天朝大區域網內隨便找個方便的連線了。
http://download.tech.qq.com/soft/53/54/85568/index.shtml,我們大騰訊肯定不會封
點選下載,請自動忽略旋風下載 =。=
安裝並記錄安裝目錄,同樣我們一會需要配置Doxygen
2.配置Doxygen
2.1基本配置
在基本配置中,會介紹一些關於Doxygen的基本配置,例如各種亂碼,輸出內容等。
首先我們開啟開始-》所有程式-》Doxygen-》doxywizard
在開始之前,開啟Doxygen GUI frontend的File,儲存到你需要做測試的目錄
會出現一個Doxyfile的配置檔案,修改選項後儲存,下次通過Doxygen開啟這個檔案可以還原該專案的配置
第一步,選擇你的工作目錄(原始碼位置),點選Select。
第二步,進行配置
首先修改Project name,選擇掃描原始碼的目錄,Source code directory:,勾選Scan recursively
在Wizard的Topics下的Mode,選擇All Entities,可以輸出相對完整的功能,是否包含原始碼看你自身情況,在下面選擇好你的語言。這裡作者使用的是C所以選擇C or PHP
在Output中,如果你需要輸出chm格式,請勾選。
在Diagrams中選擇使用GraphViz包,來輸出UML。
2.2字符集亂碼
Expert中,你需要首選確定你所輸出的語言,個人使用中文
在Expert的Input中,很重要的是INPUT_ENCODING項,如果你使用的為微軟預設字符集請填寫GBK,不然目錄亂碼。
在Expert的HTML中,首先要看HHC_LOCATION選項,新增安裝目錄(注:作者目錄為D:/build/doxygen/hcc/HTML Help Workshop/hhc.exe)
勾選CHM_INDEX_ENCODING,在你原始碼中的字符集是什麼就填寫什麼,作者的C由於使用keil,所以填寫為GBK,java對eclipse切換了字符集所以為UTF-8,還有注意給chm命名以方便尋找。
2.3GraphViz的輸出
之後在Expert的Dot中勾選CLASS_DIAGRAMS,UML_LOOK
為了減少chm體積,在DOT_IMAGE_FORMAT中選擇gif或者jpg,均可。
最後在DOT_PATH下面填入dot.exe的路徑。
配置GraphViz 暫缺
2.4生成文件
之後點選Run-》Run doxygen。
這時你可以看到一個沒有任何註釋與說明的關係圖。(chm請在html檔案內尋找)
3.關於註釋格式
由於Doxygen支援 javadoc的格式,但還有部分區別,按照如下方式可以作為註釋的模板,可以參考Doxygen的具體文件,形成你自己的風格。
?1234567891011 | /** * @brief 說明內容 * @param void * @return void * @author 123 * @version v1.0.0.0 * @date 2013 * @since Keil uVision4 * @bug * @warning */ |
注意儲存Doxygen的配置檔案,下次使用開啟該配置即可,Doxygen雖然說明了如何使用,但是作者開始並沒進行儲存,很多調整的配置項丟失。