[[TableOfContents]] 문서화 도구인 Doxygen 에 대한 자료를 수집, 정리한다. 기본적으로 C/C++ , java 등을 지원한다. PHP , C# 등도 지원하는듯(확인필요) == 관련 사이트 == * http://www.doxygen.org/ : 공식 사이트 o http://www.stack.nl/~dimitri/doxygen/ : 동일한 사이트 + http://www.stack.nl/~dimitri/doxygen//results.html : example == 인터넷 문서 == 그외의 언어 별 특색을 정리하는 것이 좋을 듯 === C/C++ 관련 === * http://www.doxygen.org/doxbar/ : VC add-in * http://www.gpgstudy.com/gpgiki/DoxyGen * http://www.gpgstudy.com/gpgiki/DoxygenTutorial * http://www.gpgstudy.com/doxygen_example/ : 샘플 * http://www.pie.pe.kr/moniwiki/wiki.php/Doxygen * http://www.pie.pe.kr/moniwiki/wiki.php/graphviz * http://www.pie.pe.kr/moniwiki/wiki.php/Doxygen/CSS * http://woohaha.egloos.com/260149 : Doxygen으로 프로젝트 문서화하기 === 활용 === * http://www.redwiki.net/wiki/wiki.php/doxygen/소스주석붙이기 * http://openlook.org/blog/2003/Sep/05 : Doxygen으로 만든 PDF == 예제문서 == 실제 활용하여 제작된 문서들을 정리한다.(언어별로 분류하는것이 좋은가?) === C === {{{#!vim c /** @file telnet.c * @brief Telnet main 함수 * * 긴 설명은 한줄을 넘긴다음 넣어준다. \n * 하나둘. 셋.. 넷.. * 다섯.. 여섯.. \n * http://doxygen.org/ */ #include "telnet.h" #define MAX_WRITE_BUF (PIPE_BUF * 2) /**< 최대 Write buffer size */ #define MAX_READ_BUF PIPE_BUF /**< 최대 read buffer size */ int do_debug = 1; /**< Debug 할 것인가 아닌가 */ char hostname[MAXHOSTNAMELEN]; /**< hostname */ short port; /**< Telnet port number */ int sock; /**< sock fd */ /** @brief buffer structor Telnet에서 전송되는 데이터에 대해 프로토콜을 처리해야 하기 위하여, 효율적으로 데이터를 전송해야 할 입출력 버퍼 structor */ struct buffer { char *buf; /**< 데이터를 저장할 주소공간 */ int size; /**< buf에 할당된 메모리 크기 */ int head; /**< buf에 저장된 데이터의 처음 Index */ int tail; /**< buf에 저장된 데이터의 마지막 index */ int count; /**< buf에 저장된 데이터의 byte 수 */ }; struct buffer write_buf; /**< Write buffer structor */ struct buffer read_buf; /**< Read buffer structor */ /** @brief Main 함수 @return 성공여부 */ int main( int argc, /**< 인자 개수 */ char *argv[] /**< 인자 */ ) { printf("hello world\n"); return 0; } /** @mainpage 첫페이지 @section intro 소개 이 프로젝트는 telnet 프로그램이다. @section developer 개발자 fehead (fehead@gelug.pe.kr) @section history 역사 이 프로그램는 2004년 11월 말쯤에 시작 했다. - 2004년 11월 말 시작 - 2004년 12월 13일 최종 수정 */ }}} === C++ === {{{#!vim c /// @file ConvertDB.h /// @brief DB classs 선언 Headerfile. /// @author infiniterun /// @date 2004-12-09 /// @brief DB변환 classs class CConvertDB { public: bool Run(); CConvertDB(const string strProgramFiles); virtual ~CConvertDB(); private: void DeleteAll(); bool CopyData(); bool OpenDB(string strData1, string strData2); int GetCurrentVersion() const; CIFMemInfo *m_pOldMemInfo; ///< Ver1용 DB Data CIFMemInfo *m_pNewMemInfo; ///< 새 버전용 DB Data string m_strProgramFiles; ///< Program Files Directory }; /// @brief DB를 연다. /// @return 성공여부 bool CConvertDB::OpenDB( string strData1, ///< ver1용 DBConnector string strData2 ///< 새버전용 DBConnector ) { bool ret = true; try { if(m_pOldMemInfo->Open(strData1) == false) throw false; if(m_pNewMemInfo->Open(strData2) == false) throw false; } catch(const bool bError) { ret = bError; } return ret; } }}} === Java === === 그외 === == 강좌 == === infiniterun 강좌 === * [Doxygen/강좌01] : 무작정 시작하기 * [Doxygen/강좌02] : hello.c 파일 분석하기 * [Doxygen/강좌03] : Main Page, struct, enum, 긴설명 문서화하기. == 질문과대답 == * Q : 어떤 언어들을 지원하나요? * A : 기본으로 C/C++ , Java 를 지원합니다. PHP , C# 등도 사용가능합니다.