Doxygen은 C, C++. C#, Objective-C, PHP, Java,Python, VHDL, Fortran, Tcl 등의 소스코드에서 주석을 약속된 문법대로 작성하면 주석을 분석해 HTML 또는 LATEX, PDF 형태로 소스코드를 문서화 해줍니다.

 따라서  Doxygen 을 사용하시면 소스코드의 분석 및 유지 보수에도 도움이 됩니다. 

 

우선 Doxygen 설치에 앞서 함수 구조도, 클래스 구조도등의 그래프를 무선에 포함시키기 위하여 Graphviz 를 설치하는게 좋습니다.

Graphviz은 http://www.graphviz.org/Download_windows.php 에서 받아 설치하면 됩니다.

 

다음으로 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc 에서 OS에 맞는 Doxygen을 다운받아 설치합니다. 

 

Doxygen의 주석은 /**  */ 모양의 주석 안에 약속된 형태의 태그를 명시하고 그에대한 설명을 추가하는 형식으로 되어 있습니다. 문법에 대한 설명과 팁들을 보려면 공식 홈페이지 매뉴얼http://www.stack.nl/~dimitri/doxygen/manual.html 을 참고하시기 바랍니다.

  

다음 설명은 doxygen 1.8.2 버전을 기준으로 설명합니다. 

 

Doxygen-1.8.2 를 설치 후에 Doxywizard를 실행하시면 다음과 같은 화면이 뜹니다. 

 

 

 

 

[ Wizard >> Project ]

 

Specify the working directory from which doxygen will run 

프로젝트 루트 폴더를 지정합니다.  이 폴더 안에 소스코드와 Doxygen 결과가 저장될 폴더등이 이안에 있어야 합니다.

 

Project name
프로젝트 이름을 넣습니다.

 

Project verion or id
프로젝트 버전이나 다른 프로젝트와 구별할 수 있는 식별 번호를 입력합니다. 정해진 형식은 없으며 자유롭게 입력하시면 됩니다.

 

Source code directory
소스 파일이 있는 디렉토리를 지정해 줍니다.

 

Scan recursively
소스 파일이 소스 디렉토리 안에 또 다른 디렉토리 안에 작성되어 있다면, 모든 하위 디렉토리까지 뒤져가면서 문서를 작성할지의 여부를 지정합니다.

 

Destination diectory
Doxygen이 문서를 어디에 생성할지를 정해 줍니다. 이 디렉토리 및에 자동으로 “html”디렉토리를 생성하므로 Doxygen을 위한 디렉토리만 정해주시면 됩니다.


 

 

 

[ Wizard >> Mode ]

 

Include cross-refeenced source code in the output
이 옵션을 체크하면 각 함수마다 사용한 함수 코드로 바로 Jump할 수 있는 링크를 생성해 줍니다. 

 

Select progrmming language to optimize the results for

해당 프로그램 언어를 선택하시면 됩니다. 

 

 

 

 

 

[ Wizard >> Output ]

 

with navigation panel

출력 형식을 선언하는 것이며 문서 왼쪽에 탐색 트리가 있는 것이 편하므로 “with navigation panel”에 체크를 했습니다.

 

 

 

 

[ Wizard >> Diagrams ]

 

Use dot tool from the GraphViz package

 Doxygen에서 소스간의 관계를 그래프로 출력해 주는 기능이 있습니다. 그래프로 출력해주는 기능을 Dot Tool 이라고 하더군요. 당연히 관계 그래프가 출력되는 것이 좋으므로 모든 옵션을 체크했습니다

 

 

 

 

[ Expert >> Project ]

 

DOXYFILE_ENCODING

한글사용시 한글이 깨지는 것을 막기 위해 “EUC-KR”로 변경합니다.

 

OUTPUT_LANGUAGE

출력 결과에 쓰여질 언어를 선택합니다.

 

ALWAYS_DETAILED_SEC

항상 상세정보를 보여줍니다. REPEAT_BRIEF와 같이 선택하게되면 개략 정보가 없어도 상세정보 영역을 생성하게 됩니다.

 

INLINE_INHERITED_MEMB

생성자와 소멸자를 제외한 상속된 모든 멤버들을 보여줍니다.

 

 

 

 

[ Expert >> Build ]

 

EXTRACT_ALL

이 항목을 체크 하시면 소스코드 내의 모든 요소가 문서화 대상이 됩니다.

하지만 EXTRACT_PRIVATE EXTRACT_STATIC에 체크돼 있지 않으면 private 멤버와 static 멤버는 문서화 되지 않습니다.

 

EXTRACT_PRIVATE

이 항목을 체크 하시면 클래스내의 모든 private 멤버가 문서화 대상이 됩니다.

 

EXTRACT_STATIC

이 항목을 체크 하시면 클래스내의 모든 static 멤버가 문서화 대상이 됩니다.

 

 

 

 

[ Expert >> Input ]

 

INPUT_ENCODING
한글이 깨지는 문제를 피하기 위해 “EUC-KR”로 변경합니다.

 

 

 

 

[ Expert >> Source Browser ]

 

INLINE_SOURCES 

이 항목을 체크 하시면 함수 설명에서 함수 소스코드가 들어가게 됩니다.

 

 

 

 

[ Expert >> Dot ]

 

ClASS_DIAGRAMS

클래스의 상속구조 다이어그램으로 그립니다.

 

UML_LOOK

다이어그램을 UML 형식으로 그립니다.

 

 

 

 

Run ]

 

Run doxygen

이 버튼을 클릭하시면 Doxygen 문서가 생성됩니다.

 

Show HTML output

Doxygen has finished 가 되었다면 이버튼을 통해 HTML을 볼수 있습니다.

이미 새성된 HTML은 Destinatione diectory 로 지정한 디렉토리 밑에 “html” 디렉토리가 있으며, 그안의 "index.html" 을 이용하여 HTML을 보셔도 됩니다.

 

 

이 설정 내용은 Doxygen 메뉴의 File >> Save 를 통해 저장하시면 소스 코드 변경후에 File >> Open 을 통하여 설정내용을 불러와서 그대로 다시 문서를 생성할수 있습니다.

 

이상 Doxygen 설정 방법 및 문서생성에 관한 글을 마치도록 하겠습니다. 


http://blog.naver.com/gepanow/130147573849

 


Posted by 장안동베짱e :