본문 바로가기
Programming/Library

[펌] doxgen 주석 방법

by 기적 2013. 4. 22.

Doxygen 주석 사용법에 간단히 정리해봅니다.

 

자세한 사용법은 Doxygen Maual http://www.stack.nl/~dimitri/doxygen/manual.html 을 참고하시기 바랍니다.

 

Doxygen의 주석 명시 방법은 일반적 주석 명시 방법과 비슷합니다.

아래설명 하는 주석 명시방법은 C언어 기준으로 설명합니다.

 

일반 주석 명시는 아시다시피

/*

  ... 주석 내용 ...

*/

와 같이 합니다.

 

Doxygen 에서는

/**

  ... 주석 내용 ...

*/

와 같이 명시합니다.

 

C++ 문법에서는

// ... 주석 내용 ...

을 사용 하며,

 

Doxygen 에서는

/// ... 주석 내용 ...

와 같이 사용합니다.

 

저의 경우 /** ... */ 이것보다는 /// ... 이 주석 방법을 주로 사용합니다. 소스 전체를 /* */ 로 막기 편하기 때문입니다.

 

Doxygen 주석 안에 주석 항목을 명시할수 있습니다.

주석 항목은 @ 을 이용하여 명시합니다.

 

@author 작성자 이름 기재

@brief 간략한 설명 기재 
@bug   
@code 중요 코드를 설명할 때 시작 지점 설정 
@date 작성날짜 기재

@endcode 중요코드 설명할 때 종료 지점 설정

@enum 
@exception 예외 처리 
@file 파일 이름을 구별 
@fn 함수이름을 구별

@mainpage 메인페이지 설명

@param 함수 파라미터 표시 
@remark 자세한 설명 및 주의 사항에 관하여 기재
@return 함수의 리턴 값을 나타낼 때 
@section   
@see 참고할 함수나 페이지 설명
@struct 구조체 정의 
@todo 다음에 작업 해야할 내용 기재 
@version 버전

 

 

 

위 그림은 프로그램 정보 메인화면에 대한 디스플레이입니다. 이를 표현하기 위하여 다음과 같이 main.c에 다음과 같이 명시하였습니다. 참고하시기 바랍니다.


/// @mainpage ATMega128A Bootloader
/// @section intro 소개
/// - 소개    :  
/// @section Program 프로그램명
/// - 프로그램명 : Atemga128A Bootloader
/// - 프로그램내용 : RS-485를 이용하여 어플리케이션 영역 업데이트
/// @section CREATEINFO 작성정보
/// - 작성자  : Kim HJ
/// - 작성일  : 2012-09-25
/// @date 2012-09-25
/// @section MODIFYINFO 수정정보
/// - 수정일/수정자 : 수정내역
/// - 2012-09-25/Kim HJ : Uart 추가

 

파일에 대한 정보 명시는 위의 내용중에 @mainpage 대신에 @file 항목을 선언하고 파일이름을 기입하시면, 파일에 대한 정보도 이러한 형태로 파일정보를 명시할 수 있으니 참고 하시기 바랍니다.

 

 

 

 

위 그림은 구조체에 대한 예제입니다.

 

/// @struct ST_EVENT
/// @brief Time Event를 위한 구조체
typedef struct{
    /// 1ms event
    char ms_1  :1;
    /// 10ms evnet
    char ms_10  :1;
    char not_use :6; ///< not use bit
}ST_EVENT;

구조체 멤버를 설명할때 멤버 바로 앞에 /// 를 이용하여 명시하며, 멤버 뒤쪽에 ///< 를 이용하여 명시하셔도 됩니다.

 

 

 

 

위 그림은 함수에 대한 주석입니다.

 

/// @fn void RS485__send(char* ucData, char ucLen)
/// @brief RS485 데이터 전송 함수
/// @return 의미 없음
/// @param ucData 전송할 데이터 포인터 변수
/// @param ucLen 전송할 데이터 길이 
void RS485__send(char* ucData, char ucLen)
{

     ...

    return;

}

 

매개변수인경우 @param 를 사용하여 명시할 수있습니다. 다음과 같이 각 매개변수에 ///< 를 이용하여 매개변수를 명시 할 수 있으니 참고하시기 바랍니다.

 

/// @fn void RS485__send(char* ucData, char ucLen)
/// @brief RS485 데이터 전송 함수
/// @return 의미 없음
void RS485__send(char* ucData, ///< 전송할 데이터 포인터 변수
     char ucLen ///<  전송할 데이터 길이 
      )
{

    ...
    return; 
}

 

 

Doxygen 주석 명시 방법은 이정도로 마치도록 하겠습니다.

 

댓글