댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
New Postings
New Comment
프로그래밍
2007.04.24 12:39
예제를 통해 Doxygen 주석 다는 방법 최대한 간단히 익히기
조회 수 14882 추천 수 38 댓글 0
style="FONT-WEIGHT: bold">나중에 까먹게 될 까봐 바로 사용할 수 있을 정도로 간략하게 간추려서
올림
* 예제는 실제 사용 중인 소스 코드를 타겟으로 함
* '최대한 간단히'
에 주목
* 설치 및 운용, 자세한 사용법에 대해서는 다루지 않음(아래 사이트들을 참조)
* 대신, 설정 템플릿 파일은 올려 둠(급할
href="http://wiki.kldp.org/wiki.php/Doxygen"
target=blank_>http://wiki.kldp.org/wiki.php/Doxygen title="이 링크를 새창으로 엽니다." style="TEXT-DECORATION: none"
href="http://wiki.kldp.org/wiki.php/Doxygen" target=_blank>
href="http://www.gpgstudy.com/gpgiki/DoxygenTutorial"
target=blank_>http://www.gpgstudy.com/gpgiki/DoxygenTutorial title="이 링크를 새창으로 엽니다." style="TEXT-DECORATION: none"
href="http://www.gpgstudy.com/gpgiki/DoxygenTutorial" target=_blank
수도 있으니까)
아래는 Doxygen 형식의 주석이 적용된 예제
소스이다.
[code type=cpp]/**
@file
PropertiesUtil.h
@brief CPropertiesUtil 클래스 선언 헤더
*/
#if
!defined(AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_)
#define
AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_
#if
_MSC_VER > 1000
#pragma once
#endif // _MSC_VER >
1000
#include
#define PROPERTY_LOAD_SUCCESS
1 /**< 파일 파싱까지 성공함 */
#define PROPERTY_LOAD_FILE_FAILED 0 /**< 파일 로드에
실패함 */
#define PROPERTY_ERROR_LINE_MUL -1 /**< 여기에 * n(에러 행 번호) 해서 리턴하게 됨
*/
/**
@brief 설정 파일을 읽어서 보관하는 클래스
설정 파일의 구조는 다음과 같다.
- 첫 글자가
# 이면 그 라인은 주석
- 빈 라인은 대상이 되지 않음
- '속성 = 값' 으로 이루어진다.
*/
class
AFX_EXT_CLASS CPropertiesUtil
{
public:
/**
* @brief 생성자\n
* 아무
일도 하지 않는다.
*
*/
CPropertiesUtil();
/**
* @brief 소멸자\n
*
아무 일도 하지 않는다.
*
*/
virtual ~CPropertiesUtil();
/**
@brief 설정
파일을 읽어들여서 파싱하고 각 설정들을 저장
@param szFileName 읽어들일 설정 파일 이름
@return 에러
유무
@see PROPERTY_ERROR_LINE_MUL
@see PROPERTY_LOAD_FILE_FAILED
@see
PROPERTY_LOAD_SUCCESS
*/
int LoadFile(const char *
szFileName);
/**
@brief 속성에 해당하는 값을 맵에서 찾아서 전달인자에 설정
@param
szKey 속성 이름
@param csValue 속성에 해당하는 값
@return 속성의 존재 유무
*/
BOOL
GetMatchedValue(const char * szKey, CString &
csValue);
private:
CMapStringToString m_mapKeyToVal; /**< 키와 값을
매핑시킨 객체 */
};
#endif //
!defined(AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_)[/code]
size=2>
JavaDoc 유저라면 보기만 해도 어떻게 하는 건지 짐작이 올 것이고, 아니어도 감이 올 거라 생각한다.
많은
주석 스타일 중에 JavaDoc 스타일을 선택하였고( /** ~ */ ) 속성도 필요한 것만 사용하였다.
속성들은 앞에 @를 붙이고 있다.
물론 다른 스타일은 !도 있는데, 여기서는 그냥 @만 생각하자.
file : 일반적으로 파일
명을 기술
brief : 함수에 대해 간략하게 기술
주의사항 -
상세 기술과 구분하기 위해 한 라인을 비워야 한다.
param :
파라미터에 대해 기술
see : 참조할 함수나 클래스,
define값, struct 등을 기술
return : 리턴값에 대해
기술
속성 없이 쓰여진 텍스트는 상세 기술이라고 생각하면
된다.
이제 Doxygen을 구동시키자. 구동시키면 첨부파일과 같은 내용의 html파일들이 쭉 나오고,
첨부파일은 이를
Doxygen이 chm으로 자동으로 컴파일해 준 것이다.
한번 열어서 확인해 보기 바란다.
doxygen_example_index.chm
style="FONT-WEIGHT: bold">
이제 C/C++ 유저도 JavaDoc를 부러워하지 말 지어다.
첨부파일 '3' |
---|
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 | 추천 수 |
---|---|---|---|---|---|---|
170 | 일반 | 영문 편지에 유용한 표현 | Dreamy | 2007.08.09 | 11241 | 39 |
169 | 영어 | 영문 Email 샘플 | Dreamy | 2011.03.31 | 0 | 0 |
168 | 영어 | 영단어 필수 어근 모음 | Dreamy | 2015.08.18 | 2025 | 0 |
167 | 성가대 | 연주회 2부 악보 | Dreamy | 2010.10.01 | 13140 | 0 |
166 | 일반 | 연어회 손질하기 | Dreamy | 2021.12.04 | 995 | 0 |
165 | 일반 | 역대 가요톱10 1위곡 목록 | Dreamy | 2015.01.04 | 2473 | 0 |
164 | 게임 | 얼음벽 부수기 | Dreamy | 2009.06.26 | 9565 | 0 |
163 | 취미 | 얀 디스마스 젤렌카 Jan Dismas Zelenka 작품 목록 | Dreamy | 2016.10.11 | 2058 | 0 |
162 | 성가대 | 악보 연주기호 정리 | Dreamy | 2008.12.26 | 13967 | 0 |
161 | 취미 | 악기의 이름과 약어(略語) | Dreamy | 2015.10.16 | 2206 | 0 |
160 | 취미 | 아이유/패닉 - 기다리다 | Dreamy | 2012.10.18 | 3774 | 0 |
159 | 취미 | 아이유 - 세바퀴메들리 | Dreamy | 2012.10.18 | 4159 | 0 |
158 | 취미 | 아이유 - 기차를 타고 | Dreamy | 2012.10.18 | 4100 | 0 |
157 | 취미 | 아이유 - officially missing you | Dreamy | 2012.10.18 | 3652 | 0 |
156 | 일반 | 아스키 아트 사이트 | Dreamy | 2008.08.20 | 12621 | 0 |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5