이전포스트

Perl로 Doxygen 처럼 만들기.

freemmer 2016. 9. 1. 15:57

프로젝트를 진행하면서 코드에 대한 문서화 작업 (레퍼런스, API, 예제 등등)을 작업하는데 드는 시간이

만만치 않게 됨을 느꼈다. 또 프로젝트를 수정했을때 마다 문서들을 수정하는 일은 말 그대로 지옥이었다.

 

그래서 코드에서 문서화 작업을 자동으로 해주는 툴이 있나 찾아보니 역시나 있었다.

Doxygen이라고 하더군. 암튼 찾아서 사용해 보려고 했더니 뭔 설치 부터 사용이 이렇게 까다로운지...

게다가 퇴근전에 배치파일을 실행시키면 빌드->문서화 작업->모듈 테스트 작업->총 보고서 이렇게 자동으로

하고 싶은 나로서는 별로 달갑지 않았다. (프로젝트가 완료되고 문서화 작업을 하는 경우에는 유용할 듯하지만...)

 

그래서 Doxygen의 주석 스타일을 조금 차용해서 맘에드는 주석 스타일을 만들고 Doxygen과 같은 작업을 진행하는

Script를 만들기로 결정하였다. 물론 Perl Script로 만든다. (다른 Script 언어는 모르기 때문에.. ㅡㅜ)

 

일단. 출력용 주석 스타일을 Doxygen으로 부터 차용하여 다음과 같이 정의 했다.

 

 

일반주석 (노출되지 않는다)

/* */ , //

 

출력용 주석

/** */ , ///

 

출력용 주석에서 사용되는 옵션과 커멘드

@file 파일에 대한 설명.

@link 파일이나 url의 링크.

@brief 간단한 설명.

@infor 자세한 정보

&(name) 파라메터에 대한 설명.

&return 리턴값에 대한 설명.

< 바로 왼쪽에 있는 항목에 대한 설명. (해당 항목에 내용이 있는경우 추가됨-우선순위 낮음)

 

예)

main.cpp

/**

 @file     dll 의 메인 파일.

 @brief   주석 출력 테스트용 파일

 @link    http://blog.daum.net/freemer

 @link    ./main.cpp

*/

#include "stdafx.h"

 

/**

 @brief       간단한 설명들

 &hModule                 첫번째 파라메터

 &ul_reason_for_call    세번째 파라메터

 &return    성공여부

*/

BOOL APIENTRY DllMain( HANDLE hModule,

                                      DWORD ul_reason_for_call, /** <  두번째 파라메터 */

                                      LPVOID lpReserved /// < (내용추가)

                                    )

{

}

 

 

 

 

출력: (원래는 html로 출력되어 폰트와 타입별 색상들이 이쁘게 적용된다. ^^*)

 

main.cpp dll의 메인 파일 (update: 2007.12.5 12:00:00)

주석 출력 테스트용 파일 (http://blog.daum.net/freemer) (main.cpp)

 

#include "stdafx.h"

 

클래스

 

전역 변수

 

전역 함수

     BOOL APIENTRY DllMain( HANDLE hModuleDWORD ul_reason_for_callLPVOID lpReserved)

          간단한 설명들

          반환값:

               성공여부

          파라미터:

               hModule                 첫번째 파라메터

               ul_reason_for_call    두번째 파라메터

               lpReserved              세번째 파라메터 (내용추가)

         

 

위의 예제는 기본적인 내용이고 다음 링크와 유사하게 작성한다.

참고 링크 : http://wiki.kldp.org/wiki.php/Doxygen/%B0%AD%C1%C203

 

다음 문서부터 실제적인 제작에 들어간다. Perl로 작성되기 때문에 Perl에 대한 기본지식이 있어야 한다.

Perl 참고 URL은 http://deadfire.hihome.com/perl/perl001.html 을 읽어보길 권한다.


반응형

'이전포스트' 카테고리의 다른 글

윈도우즈 콘솔 명령어 모음  (0) 2016.09.02
VC 6.0 과 VC2003  (0) 2016.09.01
리소스 DLL 만드는 법  (0) 2016.09.01
Dll 을 디버깅 하자  (0) 2016.09.01
커멘드 모드를 활용한 VC++ 프로젝트 빌드 방법  (0) 2016.09.01