TAG Clouds

New Postings

  • 현재의 이 시간이 더할 수 없는 보배다. 그에게 주어진 인생의 시간을 어떻게 이용하였는가에 따라서 그의 장래가 결정된다. 하루를 유익하게 보낸 사람은 하루치 보배를 파낸 것이다.
    - 데일 카네기


조회 수 14374 추천 수 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 "stdafx.h"

#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를 부러워하지 말 지어다.




List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
» 프로그래밍 예제를 통해 Doxygen 주석 다는 방법 최대한 간단히 익히기 file Dreamy 2007.04.24 14374 38
7 프로그래밍 CxImage Library 5.99 file Dreamy 2005.12.05 10052 23
6 프로그래밍 파일 암/복호화 프로그램, Encryptist. 1 file Dreamy 2005.11.29 11303 18
5 프로그래밍 프로그래밍용 글꼴 file Dreamy 2006.04.03 9130 16
4 프로그래밍 라이브러리 만드는법 Dreamy 2005.09.29 9268 9
3 프로그래밍 C language FAQ. file Dreamy 2006.07.14 8746 8
2 프로그래밍 REDIRECTION AND PIPELINE | 유닉스 기초 Dreamy 2005.08.05 10310 7
1 프로그래밍 The Humble Programmer - Dijkstra, 원문 Dreamy 2015.06.25 1568 0
Board Pagination ‹ Prev 1 Next ›
/ 1

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5