Doxygen - 维基百科,自由的百科全书

Doxygen
開發者Dimitri van Heesch
当前版本
  • 1.12.0 (2024年8月7日;穩定版本)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++
操作系统跨平台
类型文檔生成器
许可协议GNU通用公共许可证
网站www.doxygen.nl

Doxygen是一個适用于C++CJavaObjective-CPythonIDLCORBA和Microsoft flavors)、FortranVHDLPHPC#D語言的文檔生成器。它可以在大多數類Unix操作系統macOS以及Microsoft Windows上執行。初始版本的Doxygen使用了一些舊版本DOC++的源代码,在那之后,Dimitri van Heesch重写了Doxygen的源代码。

Doxygen是一個編寫軟件參考文檔的工具。該文檔是直接寫在源代码中的,因此比較容易保持更新。Doxygen可以交叉引用和源代码,使文件的讀者可以很容易地引用實際的源代码。

KDE将Doxygen作为它的一部分且KDevelop具有內置的支持。 Doxygen的发布遵守GNU通用公共许可证,是自由软件

用法

[编辑]

如同Javadoc,Doxygen從源文件提取註解。除了Javadoc的語法,Doxygen支持Qt使用的文檔標記,並可以輸出成HTML、以及CHMRTFPDFLaTeXPostScript手册页

範例代碼

[编辑]
内容输出为HTML的截图

注释文档一般用两个星号标志:

/**  * <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  */ 

但也能像HeaderDoc一樣使用*!的標誌。例如:

/*!  * <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 <[email protected]>  * @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.         *         */        Timeint timemillis ///< Number of milliseconds passed since Jan 1, 1970.              {            // the code        } 

外部連結

[编辑]
  1. ^ Doxygen release 1.12.0. 2024年8月7日 [2024年8月7日].