최상단 광고

2012년 4월 11일 수요일

Doxygen (프로젝트 문서화 툴) 사용법

▶ 프로그램 다운 로드 (약 5.25MB)


▶  설명
프로젝트를 자동으로 문서화 (html/latex/pdf) 해주므로 주석작업과 문서화를 동시에 할 수 있다. 또한 도움말형태의 결과물을 얻을 수 있기 때문에 별도의 작업으로 인한 결과물보다 큰 효과를 볼 수 있다.

▶  설정밥법( Ver 1.5 )

1. Doxygen 실행 -> Wizard 선택

 
하위 폴더가 있을 경우 Scan recursively를 체크할 것
 
 
해당 언어에 최적화 시킨다.( Doxygen이 자동으로 세부옵션을 설정해준다. )
 

 
필요한 문서 형태만 체크해둔다.
 
 
         TIP) .chm으로 선택했을경우
 
Expert->Html에서 HHC.exe(MS HTML Help Compiler )경로를 설정해줘야 한다.
 
 

 
나열되어있는 diagram이 문서에 자동으로 생성되게 할 수 있다.
다만 GraphViz( http://www.graphviz.org/ ) 가 필요하며 문서
생성 속도가 매우 느려진다. 최종 완성 소스에서만 체크하는게 좋다.
 
 
 
2. Wizard로 기본적인 설정을 하고 Expert에서 세부적인 설정이 가능하다.

 
거의 손댈 부분이 없으나 취향에 따라 몇몇 부분을 고쳐주면 된다.
OUTPUT_LANGUAGE 를 Korean 으로 바꾸면 메뉴가 한글로 나온다.
 
 
 
3. 설정한 Doxyfile 을 저장(Save)하고 Working directory 를 지정한 다음 Start 시키면 된다.
 
 
해당 디렉토리에 문서폴더가 생성된것을 확인할 수 있다. Index를 실행하여 확인해보자.
 
 
 
 
▶ 메인페이지(MainPage)를 꾸며 보자.

/** \mainpage Doxygen Test

    \section developer 개발자
        - mindon
        
    \section info 개발목적
        - Doygen 문서 테스트용 소스
 
        
    \section advenced 추가정보
        - 글머리는 '-' 태그를 사용하면 되며
            - 탭으로 들여쓸경우 하위 항목이 된다.
        -# 번호매기기는 '-#' 방식으로 할수 있다.
            -# 위와 같이 탭으로 들여쓸경우 하위 항목이 된다.
            -# 두번째 하위 항목
            
        - 이런식으로 그림을 넣을수도 있다.
        \image html mscot.jpg
*/
 
이와같이 작성하며, 프로젝트에 어느곳에 배치하여도 상관없다.
 
 
 
 
▶ 주석 달기
 
Doxygen은 파일, 함수, 데이터 구조를 기준으로 문서화를 한다.
코드 중간중간의 자잘한 주석은 문서화 시키지 않는다.
 
 
int GlobalVal;       ///< 전역 변수( 문서화에 포함되지 않는다 )
 
 
/** \brief
        문자열 바꾸기
    \remarks
        입력된 문자열에서 원하는 문자열을 찾아 바꾼다.
    \return
        마지막으로 찾은 문자열의 첫번째 주소값을 반환한다.

    \par 요구사항 ( 항목을 만들고 싶다면 \par 명령어를 사용하면 된다. )
        time.h 선언이 필요하다.

    \author
        mindon
*/
char *
Replace(
        char * pStr,     ///< 입력 문자열
        char * find,     ///< 찾을 문자열
        char * replace   ///< 변경할 문자열
        )
{
    ...
}

 
 
▶ 데이터구조 그룹만들기 
 
함수나 데이터 구조의 경우 파일 단위가 아니라 특정 기능에 따라 분류해주고 싶을 경우 모듈 설정을 할 수 있다.
/**
    \defgroup string     문자열 관련 모듈
    \defgroup date       날짜 관련 모듈
*/
 
위와 같은 방식으로 그룹을 정의한 다음 해당 함수나 데이터 구조 코드의 위아래에 다음과 같은 코드를 삽입하면 된다.
 
 
/**
    \addtogroup  string
    \{
*/
...
// 그룹화할 함수나 데이터 구조 코드
...
/** \} */ 
 
 
 
:: 이밖에도 많은 작성방법이 있으며, 
   doxygen설치시 제공되는 Sample을 참고하는 것이 좋다.

댓글 없음: