이전 Post에 이어서 Borland C++ Builder 6로 작성한 Project를 문서화하기 위해서 Doxygen을 사용하는 방법에 대해 계속해서 알아보겠습니다.

이번 Post에서는 Doxygen의 GUI Configuration Tool인 Doxywizard를 사용하여 편리하게 HTML, CHM 문서를 생성하는 방법을 설명합니다.

4. Doxywizard로 HTML 문서 만들기

Doxygen은 Command-line Tool이기 때문에 Command Interpreter(cmd.exe)를 사용하여 명령행으로 실행해야 합니다. 그리고 Doxygen을 사용하기 위해서는 Doxygen이 문서를 생성하기 위한 Configuration File이 필요합니다.

그러나 Doxygen의 Front-end인 Doxywizard를 사용하면 쉽게 Configuration File 만들 수 있고, 문서도 또한 쉽게 생성할 수 있습니다.

이번에는 가장 기본적인 문서인 HTML 문서를 생성하기 위해 Doxywizard를 사용하여 설정하는 방법과 실제 문서를 생성하는 방법을 알아봅시다.

Doxygen의 수많은 설정 Option을 설명할 수는 없기 때문에 Doxywizard를 처음 실행한 Default Option에서 꼭 필요하거나 설정하면 편리한 Option만 간단하게 설명합니다.

자세한 Option과 설명이 필요하다면 Doxygen Manual의 Reference Manual – Configuration Section을 참고하기 바랍니다.

Continue reading »

Tagged with:  

Doxygen은 여러 Programming Language를 위한 문서화 도구입니다. Source Code를 문서화한다는 것은 Code내의 주석을 통하여 Code의 구조와 Interface를 문서로 만드는 것을 의미합니다.

Doxygen을 사용하면 C++, C, C#, Fortran, Java, Objective-C, PHP, Python 등의 언어를 사용한 Source Code에 Doxygen에서 정의한 Style로 주석을 작성하면 자동으로 문서를 생성할 수 있게 됩니다.

생성된 문서는 마치 MSDN이나 기타 Live API Document와 같은 형식으로 Web Browser, PDF Reader, CHM Help 등으로 열람이 가능합니다. 이것은 여럿이 동시에 작업하는 Project에 더욱 유용합니다.

이번 Post에서는 Borland C++ Builder 6로 작성한 Project를 Doxygen을 사용하여 문서화하는 방법을 다루도록 하겠습니다.

1. Doxygen 설치

Doxygen 자체는 Source Code의 주석을 사용하여 문서를 자동으로 생성하는 도구로서 IDE와 통합되어 동작하지 않습니다. 다만 Doxygen에서 정의한 Style에 주석을 Project 개발시에 Source Code에 작성하면 됩니다. (Java, Flex의 경우에는 문서화 도구인 JavaDoc, ASDoc Style로 작성한 주석을 바로 Parsing하여 Eclipse에서 해당 Class나 Method에 대한 주석을 바로 확인할 수 있습니다.)

Continue reading »

Tagged with:  

Borland C++ Builder 6를 사용하면서 Debugging 시에 Breakpoint가 제대로 동작하지 않는 경우가 있습니다. 특히 여러 Static Library와 DLL, BPL을 참조할 때 해당 LIB, DLL, BPL 내의 Source에 Breakpoint를 설정하는 경우 발생하기 쉽습니다.

이번 Post에서는 이런 경우에 Breakpoint를 정상적으로 동작하도록 설정하는 방법을 다뤄보도록 하겠습니다.

Method 1: Project Option을 확인

Project Options - Compiler

Project Options - Compiler

가장 먼저 이런 경우에 대처할 수 있는 방법은 Debugging하려는 최종 DLL, BPL 또는 EXE Project와 참조하는 모든 Static Library가 Debug Mode로 Compile 되었는지 확인하는 것입니다.

Continue reading »

Tagged with: