Doxygen
頁面Module:Message box/mbox.css沒有內容。頁面Template:Ambox/style.css沒有內容。
此條目翻譯品質不佳。 (2020年2月25日) |
頁面Module:Message box/mbox.css沒有內容。頁面Template:Ambox/style.css沒有內容。
此條目沒有列出任何參考或來源。 (2017年10月26日) |
package.lua第80行Lua錯誤:module 'Module:CGroup/core' not found
頁面Module:Infobox/styles.css沒有內容。
| File:Doxygen.png | |
| 腳本錯誤:沒有「InfoboxImageVariant」這個模塊。 | |
| 開發者 | Dimitri van Heesch |
|---|---|
| 當前版本 | Template:Software version |
| 原始碼庫 | 頁面Template:Plainlist/styles.css沒有內容。 |
| 編程語言 | C++ |
| 引擎 | 頁面Template:Plainlist/styles.css沒有內容。
|
| 作業系統 | 跨平台 |
| 類型 | 文檔生成器 |
| 許可協議 | GNU通用公共許可證 |
| 網站 | www |
| 腳本錯誤:沒有「Template wrapper」這個模塊。 | |
Doxygen是一個適用於C++、C、Java、Objective-C、Python、IDL(CORBA和Microsoft flavors)、Fortran、VHDL、PHP、C#和D語言的文檔生成器。它可以在大多數類Unix操作系統、macOS以及Microsoft Windows上執行。初始版本的Doxygen使用了一些舊版本DOC++的原始碼,在那之後,Dimitri van Heesch重寫了Doxygen的原始碼。
Doxygen是一個編寫軟件參考文檔的工具。該文檔是直接寫在原始碼中的,因此比較容易保持更新。Doxygen可以交叉引用和原始碼,使文件的讀者可以很容易地引用實際的原始碼。
KDE將Doxygen作為它的一部分且KDevelop具有內置的支持。Doxygen的發佈遵守GNU通用公共許可證,是自由軟件。
用法[編輯]
如同Javadoc,Doxygen從源文件提取註解。除了Javadoc的語法,Doxygen支持Qt使用的文檔標記,並可以輸出成HTML、以及CHM、RTF、PDF、LaTeX、PostScript或手冊頁。
範例代碼[編輯]
註釋文檔一般用兩個星號標誌:
/**
* <A short one line description>
*
* <Longer description>
* <May span multiple lines or paragraphs as needed>
*
* @param Description of method's or function's input parameter
* @param ...
* @return Description of the return value
*/
但也能像腳本錯誤:沒有「Lang」這個模塊。一樣使用*!的標誌。例如:
/*!
* <A short one line description>
*
* <Longer description>
* <May span multiple lines or paragraphs as needed>
*
* @param Description of method's or function's input parameter
* @param ...
* @return Description of the return value
*/
以下說明如何從C++原始碼產生文檔。請確保參數EXTRACT_ALL在Doxyfile設置為YES。
/**
* @file
* @author John Doe <jdoe@example.com>
* @version 1.0
*
* @section LICENSE
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option)any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details at
* http://www.gnu.org/copyleft/gpl.html
*
* @section DESCRIPTION
*
* The time class represents a moment of time.
*/
class Time {
public:
/**
* Constructor that sets the time to a given value.
*
* @param timemillis Number of milliseconds
* passed since Jan 1, 1970.
*/
Time (int timemillis){
// the code
}
/**
* Get the current time.
*
* @return A time object set to the current time.
*/
static Time now () {
// the code
}
};
另一種方法是首選的一些參數的記錄如下。這將產生同樣的文件。
/**
* Constructor that sets the time to a given value.
*
*/
Time(int timemillis ///< Number of milliseconds passed since Jan 1, 1970.
)
{
// the code
}
外部連結[編輯]
- SourceForge.net上的Doxygen
- Template:Freshmeat
- MediaWiki documentation(頁面存檔備份,存於互聯網檔案館) in Doxygen
- Example of documentation automatically generated by Doxygen (頁面存檔備份,存於互聯網檔案館) for Apache Harmony