2020년 7월 1일 수요일

Doxygen

c++ 주석처리 문서화 프로그램.

앞으로는 코드 짜면서 주석도 넣을까 하는데, 현업에서 쓰는 주석양식도 다양하고 그래서, 재가 제공하는 형식대로 하면 되지 않을까 라는 생각으로 다운받음.

1. 한글 깨짐

한글 깨짐 현상에 관한 수많은 블로그, 개인페이지의 해결방안이 있었으나 제각기 조금씩 달랐고 1.8버전을 쓰는 나에게 적용이 되지 않았다. 일단 비주얼 스튜디오는 CP949(멀티 바이트 방식)로 파일을 인코딩한다. 이를 수정하는 방법은 Tool->Option 의 아래와 같은 옵션이다.

뭐 중요한건 아니고, doxgen 은 유니코드인 UTF-8을 쓴다. 그래서 비주얼 스튜디오의 기본값을 변경하지 않았다면 다음과 같이 변경하면 된다.

Visual Studio 는 cp949라고 위에서 설명함

doxyfile_encoding 에 멀티바이트 인코딩을 넣으면 신기하게 안됐다. 걍 유니코드 넣어보니 됐다.

Output_Language 는 멀티바이트로 문서 인코딩을 하는게 아닌 한, 내부 문서에는 영향이 없고 환경 언어 설정만 바뀐다. 그래서 굳이 영어에서 한글로 바꿀 필요는 없을 듯 하다.

2. 주석 법

제공 문서를 보면 완벽한데, 길고 영어라서 보기 부담스럽다. 문서 내부에 special command 에 다 정리되어 있는데 언제 다 보나. 내가 쓸 주석법만 메모한다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

/**

* @brief 위에 잠간 뜸,

* @details 오호

* @param string 1 여긴 클래스 주석

* @param string 2 임

* 아무것도 없으면\n 이래되고

* @return 리턴값도 넣어야지.

* 클래스지만 함수 주석시는 정상시 리턴, 에러시 리턴값도 말해줘야지

* @throws Bad_Alloc 에러 떤지는것도

*/

class B

{

public:

/**

*

* @brief 테스트를 위한 클래스이다.

* @details 내부에서 아무짓도 안한다.

* @author 세모나

* @date 2020-3-22

* @version 0.0.0

*

*/

void func()

{

return;

}

};

@는 \로도 대체 가능함.

class 위에 적냐 클레스 메소드 위에 적냐로 배치가 바뀜

command 안쓰면 기본으로 detailed Description

엔터는 \n 또는 /*로 한줄을 버리거나, 숫자로 한주을 시작하면 됨

@brief

@details

@author

@date

@version

@param

@return

@throws

정도가 인터넷 뒤져보니 자주 쓰이는 듯.

댓글 없음:

댓글 쓰기

List