Create TOC

2002년 1월 10일

Doxygen

Doxygen

Doxygen 는 C++, C, Java, IDL (Corba, Microsoft, and KDE-DCOP flavors), PHP, C# 을 위한 문서화 시스템이다.

source 에 남기는 주석을 이용하여 HTML, LaTex, RTF 포맷의 문서를 출력할 수 있다.

다운로드 및 설치

Doxygen

Doxygen site 에서 platform에 맞는 버전을 다운 받는다.

Graphviz

Doxygen 에서 document를 생성할 때 class 계층도나 파일 관계도를 그림으로 만들기 위해서 필요하다.

Graphviz site 에서 platform에 맞는 버전을 다운 받는다.

Html Help Workshop

Doxygen으로 생성한 html을 CHM 으로 만들기 위해서 Microsoft HTML Help Workshop 를 다운받는다.

DoxBar

Developer Studio 에서 Doxygen을 손쉽게 사용할 수 있는 add-on 모듈.

doxbar site 에서 다운 받을 수 있다.

설치는 doxbar site의 설명을 따라가면 된다.

간단한 주석 규칙

주석을 달때 몇가지 style 이 적용되지만 나는 javadoc 스타일을 선호한다. 아래 내용 이외에도 history, todo 에 관한 규칙도 있지만 따로 설명하지 않는다.

파일에 대한 주석

/**	@file [파일명]
	@brief [파일에 대한 간단한 설명]
*/

/*/////////////////////////////////////////////////////////////////////////////
// Include Headers
*/

/*/////////////////////////////////////////////////////////////////////////////
// Constants
*/

/*/////////////////////////////////////////////////////////////////////////////
// Declare Types
*/

/*/////////////////////////////////////////////////////////////////////////////
// Global Variable
*/

/*/////////////////////////////////////////////////////////////////////////////
// Declare Functions
*/

/*/////////////////////////////////////////////////////////////////////////////
// Implementation
*/

/*/////////////////////////////////////////////////////////////////////////////
// End of file
*/

함수에 대한 주석

/**	@brief [함수에 대한 간단한 설명]

	@param[in] [파라미터 설명]
	@param[out] [파라미터 설명]
	@param[in,out] [파라미터 설명]

	@return [Return Values]

	@remark [Remarks]

	@sa [See Also]

	@note [Note]
*/
int hello(int x)
{
...
}

class에 관한 주석

/**	@brief [class 에 대한 간단한 설명]
*/
class Foo
{
...
};

struct에 관한 주석

/**	@brief [struct 에 대한 간단한 설명]
*/
struct foo
{
...
};

class, struct 멤버 변수, 일반 변수에 관한 주석

int i;	/**< loop counter */

매크로에 관한 주석

/**	@brief [macro 설명]
*/
#define FOO(x)   do { ... } while (0)

Group

/// @defgroup GROUPNAME description
//@{

/** @defgroup SUBGROUP1 desc
@ingroup GROUPNAME
*/
//@{
...
//@}

/// @name group name
//@{
...
//@}

//@}

유용한 plugin

DoxygenToolkit

VIM용 plugin. 함수 주석을 편리하게 달 수 있다.

아래는 내 vimrc에서 DoxygenToolkit용 설정

"for DoxygenToolkit.vim
let g:DoxygenToolkit_interCommentTag="^I"
let g:DoxygenToolkit_blockHeader=""
let g:DoxygenToolkit_blockFooter="^I@warning^I^M^M^I@remarks^I^M^M^I@note^I^M^M^I@sa^I^M"
let g:DoxygenToolkit_authorName="Yun-yong Choi"

실제 설정에 적용할때는 ^I는 tab을 누르면 되고 ^M은 ^V를 누르고 엔터키를 누르면 된다.

플러그인은 http://www.vim.org/scripts/script.php?script_id=987 에서 받을 수 있다.