Doxygen은 주석이 달린 코드를 읽어내서 문서를 만들어내는 툴이며, 여러가지 언어와 문서형식(MS-WORD or HTML...) 지원한다.
우리는 C++ 코드를 HTML문서로 뽑아내는 일을 해볼 것이다.
그럼 우선 Doxygen을 다운받아보자.
우선 Windows 계열의 경우 이 주소를 통해 다운받으면 된다.
http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.7-setup.exe
그외의 OS에서는 아래부분에서 자신의 OS와 맞는 파일을 받아주자.
http://www.stack.nl/~dimitri/doxygen/download.html
다운을 다 받았으면 파일을 실행시키고 동의를 해주거나, NEXT NEXT만 눌러주면 된다.
다운로드를 모두 마치고 나면 DoxyWizard란 프로그램을 실행시켜보자.
그럼 이렇게 생긴 프로그램이 켜질것이다.
대강 프로젝트 이름(Project name)이나 시놉시스, 버전등을 적어주자.
그다음으로, 주석이 한글일 경우에 인코딩문제로 인해 깨지는걸 방지하기위해 추가적으로 설정을 해주어야 한다.
Expert탭에가서 Topics중에 Project에 가보자.
여기서 아랫부분의 OUTPUT_LANGUAGE부분을 English에서 이미지에서와 같이 Korean으로 바꿔주어야 한다.
추가적으로 Topics중에서 Input탭으로 가서 INPUT_ENCODING부분에 CP949를 적어주자.
위의 절차대로 설정을 했다면 이제 준비는 모두 끝났다.
다음으로 읽어들일 간단한 소스를 짜볼 건데, 그 전에 규격에 맞게 주석을 다는 방법에 대해 알아보자.
클래스나 멤버변수의 위에
/**
*@종류 내용
*@종류 내용
*/
이런방식으로 주석을 달아주면 된다.
종류에는 이러한 것들이 있다.
Item | 설명 |
---|---|
@author | 작성자 이름 |
@brief | 간략한 설명 |
@bug | 발견된 버그의 설명 |
@code | 중요 코드를 설명할 때 시작 지점 설정 |
@date | 작성날짜 |
@endcode | 중요코드 설명할 때 종료 지점 설정 |
@exception | 예외 처리 |
@mainpage | |
@param | 함수 파라미터 |
@remark | 자세한 설명 |
@return | 함수의 리턴 값 |
@section | |
@see | 참고할 함수나 페이지 지정 |
@todo | 해야할 일의 설명 |
출처 : http://rorolena.tistory.com/2176
그리고 위의 코드처럼 간략설명 하나만 적으려는데 길게 코드를 적는게 맘에들지 않는다면 이렇게 쓸 수 있다.
//! 간략한 설명 내용
위의것이 아랫것과 같다고 할까.
/**
*@brief 내용
*/
그럼 이제 예제코드를 봐보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> #include <string> /** *@brief Doxygen 공부용 예제 클래스 *@author 이민욱 *@date 2014/05/03 */ class Test { public: /** *@brief 객체가 생성됬을 때의 시간 *@author 이민욱 */ int Timer ; //! 공격력 int Power ; //! 객체의 이름 std::string m_Name ; } ; |
Test클래스에 brief, 간략설명으로 Doxygen 공부용 예제 클래스를 적어주었고, 그외 추가로 작성자나 작성된 날짜 정보를 적어주었다.
그리고 멤버변수들에도 각기 주석들을 달아 주었다.
이렇게 코드 작성을 했으면 이제 다시 Doxygen Wizard로 가보자.
그리고 Wizard탭에 가서, Source code directory(소스코드의 위치)와 Destination directory(결과물 출력 폴더)를 설정해주자.
설정을 끝마쳤으면, Run탭에가서 Run doxygen버튼을 눌러주면 끝이다.
이제 방금 설정했던 결과물 출력 폴더로 가보면 latex폴더와 html폴더가 만들어져있는데, html폴더로 들어간 후, Index.html 파일을 브라우저를 이용하여 열어보자.
그러면 이렇게 html문서가 보기좋게 만들어진 것을 볼 수 있을 것이다.
출처 : http://blog.naver.com/minuk302/130190474760
'Dev Tool' 카테고리의 다른 글
Dev Tool - TortoiseSVN (0) | 2017.02.23 |
---|---|
Dev Tool - depends22 (0) | 2016.10.14 |
Dev Tool - StarUML (0) | 2016.02.24 |
Dev Tool - Beyond Compare (0) | 2016.02.24 |
Dev Tool - Debug View (0) | 2016.02.24 |