댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
New Postings
New Comment
프로그래밍
2007.04.24 12:39
예제를 통해 Doxygen 주석 다는 방법 최대한 간단히 익히기
조회 수 14722 추천 수 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' |
---|
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 | 추천 수 |
---|---|---|---|---|---|---|
245 | 성가대 | 화답송 악보(교회선법) | Dreamy | 2010.12.11 | 12541 | 0 |
244 | 칵테일 | 홈메이드 칵테일 레시피 | Dreamy | 2015.10.07 | 0 | 0 |
243 | 칵테일 | 홈메이드 칵테일 노트 | Dreamy | 2015.10.07 | 0 | 0 |
242 | 일반 | 해리 터틀도브 - 가지 않은 길(The road not taken) | Dreamy | 2014.09.19 | 2248 | 0 |
241 | 일반 | 합기도 기본정신 | Dreamy | 2005.10.17 | 7199 | 21 |
240 | 일반 | 할머니가 들려주시던 옛날 이야기 모음 1 | Dreamy | 2016.11.07 | 2646 | 0 |
239 | 취미 | 한희정 - 우리처음만난날 | Dreamy | 2012.10.18 | 3986 | 0 |
238 | 성당 | 한국가톨릭작곡가 악보를 구입하는 방법 | Dreamy | 2023.10.17 | 520 | 0 |
237 | 일반 | 학교 폭력 해결 방법 | Dreamy | 2018.07.06 | 2374 | 0 |
236 | 성가대 | 하느님의 어린양(이노주사,현정수곡) 4부 악보 | Dreamy | 2009.04.14 | 13116 | 0 |
235 | 교리교안 | 하가다 예절 | Dreamy | 2005.02.13 | 12452 | 72 |
234 | 수업 | 플라톤 '향연'을 읽고 (독후감) 5 | Dreamy | 2003.06.22 | 10140 | 142 |
233 | 프로그래밍 | 프로그래밍용 글꼴 | Dreamy | 2006.04.03 | 9513 | 16 |
232 | 취미 | 프레이징(Phrasing)과 아티큘레이션(Articulation) | Dreamy | 2015.07.29 | 1951 | 0 |
231 | 프로그래밍 | 파일 암/복호화 프로그램, Encryptist. 1 | Dreamy | 2005.11.29 | 11712 | 18 |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5