Doxygen

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或手册页。

範例代碼
注释文档一般用两个星号标志:

/**
*
*
*
*
*

  • @param Description of method's or function's input parameter
  • @param ...
  • @return Description of the return value

*/

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

/*!
*
*
*
*
*

  • @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
  • @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 ///

外部連結
*
*
*
*[http://svn.wikimedia.org/doc/ MediaWiki documentation] in Doxygen
*[http://harmony.apache.org/subcomponents/drlvm/DoxygenStart.html Example of documentation automatically generated by Doxygen ] for Apache Harmony

评论 (0)

  • 还没有评论,来抢沙发吧。