하루의 쉼터

[Doxygen] Doxygen 설치 및 사용 본문

프로그래밍 - 개발/Linux

[Doxygen] Doxygen 설치 및 사용

Changun An 2021. 3. 5. 11:06
반응형

| Doxygen 설치 및 사용 방법

 

0. Why Doxygen?

* 개발 문서 자동화

* 주석 습관화 및 가독성 증가

* 소스코드와 맞는 문서 자동 업데이트

 

1. Doxygen 설치

* doxygen 패키지와 관계도를 표시할 graphviz를 설치

sudo apt-get install doxygen graphviz

 

2. Doxygen 사용 해보기

2.1 Doxygen 주석 형식

*  doxygen 사용을 위해 주석 사용시 **을 두번 사용하여 시작을 알리도록 합니다. (C,C++등 주석과 구분하기 위함)

예시 )

/**
*
*/

 

* 주요 명령어

너무 많은 관계로 기초적인 명령어들로 작성하였으며 기타사항 및 자세한 사항은 아래를 통하여 확인하실 수 있습니다.

@file 파일명

- 파일명 작성. 기본적으로 @file 명령어가 없는 문서는 문서화 되지 않습니다.

 

@brief 설명. 파일에 대한 설명을 표시하는 부분 

 

@author 작성자. 명시

 

@ Date 날짜. 명시

 

@param 파라미터 , 설명 -> 반환형 명시 추천

 

@return  반환형 설명

 

@class 클래스 설명

 

더 자세한 명령어는 아래와 같은 사이트를 통하여 확인하실 수 있습니다.

www.doxygen.nl/manual/commands.html

 

Doxygen Manual: Special Commands

Introduction All commands in the documentation start with a backslash (\) or an at-sign (@). If you prefer you can replace all commands starting with a backslash below by their counterparts that start with an at-sign. Some commands have one or more argumen

www.doxygen.nl

 

2.2 테스트 코드 작성

mkdir doxygen_test
cd doxygen_test

 

include/hello.h hello.cpp main.cpp

테스트를 위하여 저는 세개의 파일을 준비하였습니다.

class를 선언할 hello.h

class 구현을 위한 hello.cpp

메인 구동을 위한 main.cpp

 

2.2.1 hello.h

/**
* @file hello.h
* @author changun
* @date 2021-03-04
* @brief hello class header
*/
#include<iostream>

/**
* brief hello class declare
*/
class cl_hello{
public: 
	int fn_hello();
};

2.2.2 hello.cpp

/**
* @file hello.cpp
* @author changun
* @date 2021-03-04
* @brief hello class code source
*/
#include"include/hello.h"


/**
* @brief test function
* @return ok=0, error=-1
*/
int cl_hello::fn_hello(){
	std::string hello="hi doxygen";
	std::cout<<hello<<std::endl;
	return 0;

}

2.2.3 main.cpp

/**
* @file main.cpp
* @author changun
* @date 2021-03-04
* @brief main source
*/
#include"include/hello.h"

/**
* @brief main function
* @param hi : cl_hello
* @return ok=0, error= -1
*/
int main(){
	cl_hello hi;
	hi.fn_hello();
	return 0;
}

 

2.3 Doxygen 파일 생성

doxygen -g 파일명

* 파일명을 생략 하는 경우 'Doxyfile' 로 생성됩니다.

 

editor(vi,vim,nano 등)를 통하여 doxygen_test를 열어줍니다.

편의를 위하여 주석을 제거합니다.

 

 

2.4 Doxygen 기본 설정

주석을 제거 하고 Doxygen 파일을 설정해줍니다. 

PROJECT_NAME = "프로젝트 명"

PROJECT_NUMBER = "프로젝트 버전"

SOURCE_BROSER = "YES or NO" : 문서에 소스코드 추가 여부

 - YES : 소스코드 나옴

- No : 소스코드 안나오게 함

 

INLINE_SOURCES = "YES or NO" : 문서에 클래스 및 열거형추가여부

CALL_GRAPH = "YES or No" : 문서에 모든 전역 함수 또는 클래스 메소드 콜 종속성 그래프를 생성 

OUTPUT_LANGUAGE = "언어" : 문서 해당 언어로 설정하는 부분

RECURSIVE = "YES or No" 하위 폴더의 내용까지 문서화 

 

3. 파일 생성 및 확인

doxygen 설정 파일명

* 파일명을 설정하지 않은 경우 doxygen만 입력 

 

3.1 html과 latex 디렉토리 생성 확인

 

3.2 문서 생성 확인을 위하여 html 디렉토리로 이동

cd html

 

3.3 테스트 문서 확인

firefox index.html

 

Reference Site : 

www.doxygen.nl/manual/

 

Doxygen Manual: Overview

The first part forms a user manual: The second part forms a reference manual: Section Features presents an overview of what doxygen can do. Section Doxygen usage shows how to use the doxygen program. Section Doxywizard usage shows how to use the doxywizard

www.doxygen.nl

반응형
Comments