doxygen 是一種功能強大的代碼文檔化工具,被Boost、OpenCasCade等諸多項目作為文檔產生的不二人選。
它有一套規範的代碼注釋標準,如果開發人員在代碼中使用這種標準,就能夠通過Doxygen方便地產生html/Pdf等格式的文檔,介面非常規範美觀。
Linux Doxgen 可以在這裡下載:http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
1.安裝方法:
我的電腦的下載路徑為:主資料夾--下載。
下載完成之後在terminal輸入指令:
1.tar xvfz 下載/doxygen-1.7.5.1.src.tar.gz
2.cd doxygen-1.7.5.1
3../configure
4.make
5.make install
2.組建組態檔案
開啟terminal
cd進入工程目錄
Doxygen -g組建組態檔案
產生的這個設定檔是用來讓使用者佈建工程的基本屬性的。
3.程式文檔產生
開啟terminal
doxygen your-cfg-filename
your-cfg-filename是設定檔名。
這樣就能夠產生html格式的文檔,可以查看MainPage/Classes/Files,介面非常友好!
4.注釋規範與examples
在Doxygen的安裝目錄下可以看到example檔案夾,給出了Doxygen的注釋規範。比如:
/**<br /> * \file manual.c<br /> */</p><p>typedef struct Object Object; //!< Object type<br />typedef struct Vehicle Vehicle; //!< Vehicle type<br />typedef struct Car Car; //!< Car type<br />typedef struct Truck Truck; //!< Truck type</p><p>/*!<br /> * Base object class.<br /> */<br />struct Object<br />{<br /> int ref; //!< \private Reference count.<br />};</p><p>/*!<br /> * Increments object reference count by one.<br /> * \public \memberof Object<br /> */<br />static Object * objRef(Object *obj);</p><p>/*!<br /> * Decrements object reference count by one.<br /> * \public \memberof Object<br /> */<br />static Object * objUnref(Object *obj);</p><p>/*!<br /> * Vehicle class.<br /> * \extends Object<br /> */<br />struct Vehicle<br />{<br /> Object base; //!< \protected Base class.<br />};</p><p>/*!<br /> * Starts the vehicle.<br /> * \public \memberof Vehicle<br /> */<br />void vehicleStart(Vehicle *obj);</p><p>/*!<br /> * Stops the vehicle.<br /> * \public \memberof Vehicle<br /> */<br />void vehicleStop(Vehicle *obj);</p><p>/*!<br /> * Car class.<br /> * \extends Vehicle<br /> */<br />struct Car<br />{<br /> Vehicle base; //!< \protected Base class.<br />};</p><p>/*!<br /> * Truck class.<br /> * \extends Vehicle<br /> */<br />struct Truck<br />{<br /> Vehicle base; //!< \protected Base class.<br />};</p><p>/*!<br /> * Main function.<br /> *<br /> * Ref vehicleStart(), objRef(), objUnref().<br /> */<br />int main(void)<br />{<br /> Car c;<br /> vehicleStart((Vehicle*) &c);<br />}<br />
5.官方指南
Doxygen Manual
http://www.stack.nl/~dimitri/doxygen/manual.html