U E D R S I H C RSS
ID
Password
Join
15๋ถ„๊ฐ„ ๊ณ ๋ฏผํ•ด๋„ ๋‹ต์ด ์•ˆ๋‚˜์˜ค๋Š” ๊ฒƒ์€ 15๋ถ„์ด ๋ถ€์กฑํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ณ ๋ฏผ์„ ํ•  ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•œ ๊ฒƒ์ด๋‹ค - ๋ชจ ์œ„ํ‚ค์‚ฌ์ดํŠธ์—์„œ ํผ์˜ด

๏ปฟ * doxbar๊ฐ€ ์•ˆ๋ณด๋˜์‚ฌ์ด ์—„์ฒญ ์ข‹์•„์กŒ๊ตฐ์š”! ํ•˜์ง€๋งŒ..์š”๊ทผ๋ž˜ VC๋ฅผ ์“ฐ์ง€ ์•Š๋Š”์ง€๋ผ... :(

Contents

1 ์‹œ์ž‘ํ•˜๋ฉฐ
2 VC์— ์„ค์น˜ํ•˜๊ธฐ
3 ์‚ฌ์šฉํ•ด๋ณด์ž!
4 ์†Œ์Šค์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜์ง€?
5 DoxyFile ์˜ต์…˜ ์„ค๋ช…
6 ๋งˆ์น˜๋ฉฐ

1 ์‹œ์ž‘ํ•˜๋ฉฐ #

๊ฐœ์ธ์ ์œผ๋กœ ์™ธ์ฃผ๊ฐœ๋ฐœ์ผ์„ ํ•˜๋ฉด์„œ ๋ฉ”๋‰ด์–ผ ๋ฐ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ๋ฌธ์„œ์ž‘์—…์ด ์ƒ๊ฐ์™ธ๋กœ ๋ฒ…์ฐจ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฃผ์„๋ถ„์„ํˆด์„ ์ฐพ๋˜ ์ค‘, ACE ๋ฉ”๋‰ด์–ผ์„ ๋งŒ๋“œ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” Doxygen์ด๋ž€ ํˆด์„ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ ํˆด์— ๋ฌธ๋ฒ•๋„ ๊ฐ„๋‹จํ•˜๋‹ค. ์„ค์น˜์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋จผ์ €ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. (VC์— ์„ค์น˜ํ•œ ๋‚ด์šฉ์„ ์œ„์ฃผ๋กœ ํ•˜๋„๋ก ํ•œ๋‹ค. ์•„๋งˆ๋„ ์„ค์น˜ ๋ฉ”๋‰ด์–ผ์„ ๊ฑฐ์˜ ๋ฐฐ๋ผ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐ๋œ๋‹ค. ^^)

2 VC์— ์„ค์น˜ํ•˜๊ธฐ #

  1. Doxygen์€ [http]http://www.stack.nl/~dimitri/doxygen/index.html์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œˆ๋„์šฐ์ฆˆ์šฉ ์ธ์Šคํ†จ๋Ÿฌ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ download ์„น์…˜์—์„œ ๋ฐ›์œผ๋ฉด ๋œ๋‹ค. ์„ค์น˜ํ•˜๊ธฐ๋Š” ๋งค์šฐ ์‰ฝ๋‹ค.

  2. ์ œ๋Œ€๋กœ ์„ค์น˜ํ–ˆ์œผ๋ฉด ๋„์Šค ํ”„๋กฌํ”„ํŠธ ์ƒ์—์„œ Doxygen์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  configuration ํ™”์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•œ๋‹ค.
    C:\> doxygen -g
    
    C ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— Doxyfile์ด๋ž€ ํ™”์ผ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•ด๋ณธ๋‹ค.

  3. graphviz๋ฅผ ๋ฐ›์•„์„œ ์„ค์น˜ํ•œ๋‹ค. [http]์ด๊ณณ์ด ํ™ˆํŽ˜์ด์ง€์ด๋‹ค. ํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฏ€๋กœ ์œˆ๋„์šฐ์ฆˆ ๋ฐฐํฌํŒ์„ ๋ฐ›์•„ ์„ค์น˜ํ•ด์ค€๋‹ค. ์„ค์น˜๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ์ด๊ฒƒ์€ ํด๋ž˜์Šค๋‚˜ ์†Œ์Šคํ™”์ผ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค์ค„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

  4. ๋‹ค์Œ์—๋Š” Doxbar ์ฐจ๋ก€๋‹ค. ์ด๊ฒƒ์ด ์กฐ๊ธˆ ๊ณจ์น˜์•„ํ”„๋ฏ€๋กœ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ์„œ ํ•œ๋‹ค. ์šฐ์„  [http]ํ™ˆํŽ˜์ด์ง€์— ๊ฐ€์„œ ์••์ถ• ๋ฐฐํฌ๋ณธ์„ ๋ฐ›๋Š”๋‹ค. ์•Œ๋งž์€ ๊ณณ์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์••์ถ•์„ ํ‘ผ๋‹ค. (๊ฐ€๊ธ‰์  C ๋ฃจํŠธ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ฐ€๊นŒ์šด ๊ณณ์— ๋งŒ๋“ ๋‹ค. doxygen๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ๋„ˆ๋ฌด path๊ฐ€ ๊ธธ๋ฉด ์ธ์‹์„ ๋ชปํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค)

  5. VC์„ ์‹œ์ž‘ํ•˜๊ณ , Tools -> Customize... ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•œ๋‹ค. add-ins and Macro Files ํƒญ์„ ์„ ํƒํ•œ๋‹ค. Browse๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์•„๊นŒ ์••์ถ•์„ ํ’€์—ˆ๋˜ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ฐ€์„œ doxbar.dll์„ ์„ ํƒํ•œ๋‹ค. ์ดํ›„์— open์„ ์„ ํƒํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์น˜๋˜๋ฉด ์„ฑ๊ณต์ด๋‹ค.

    http://doxbar.sourceforge.net/addin.png

  6. Close๋ฅผ ์„ ํƒํ•˜๊ณ  ๋น ์ ธ๋‚˜์˜ค๋ฉด VC์ƒ์˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํˆด๋ฐ”๊ฐ€ ์ƒ๊ฒจ์ ธ์žˆ๋‹ค.

    http://doxbar.sourceforge.net/toolbar.png

  7. ๋‹ค์‹œ Tools -> Customize... ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•œ๋‹ค. Tools ํƒญ์„ ์„ ํƒํ•˜๊ณ  ์ƒˆ๋กœ ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๊ทธ๋‹ค์Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.

    http://doxbar.sourceforge.net/config.png

    ์œ„์—์„œ rundox.batํ™”์ผ์€ ์‹ค์ œ๋กœ ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ์ ์–ด์ค€๋‹ค. Close๋ฅผ ์„ ํƒํ•˜๋ฉด ๊ฒฝ๊ณ ๋ฉ”์„ธ์ง€๊ฐ€ ๋œฐํ…๋ฐ, no๋ฅผ ์„ ํƒํ•ด์„œ ๋ฌด์‹œํ•˜์ž. (์ด ๋ฐฐ์น˜ํ™”์ผ์€ doxygen์ด ์ƒ์„ฑํ•œ๋‹ค.)

  8. Tools๋ฉ”๋‰ด๋ฅผ ๋‹ค์‹œ ์„ ํƒํ•ด์„œ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ฉ”๋‰ด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด, doxygen์ด ๋ช‡๋ฒˆ์งธ ํˆด์ธ์ง€ ๊ธฐ์–ตํ•ด๋‘”๋‹ค. (๊ทธ๋ฆผ์—์„œ๋Š” 7๋ฒˆ์งธ์ด๋‹ค.)

    http://doxbar.sourceforge.net/menu.png

  9. (์„ค์ •๋ถ€๋ถ„์€ ๋งŽ์ด ๊ฐœ์„ ๋˜์—ˆ์ง€๋งŒ, ์ œ๊ฐ€ VC๋ฅผ ํ•œ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ด€๊ณ„๋กœ ๋ฒˆ์—ญํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [http]doxbar ํ™ˆํŽ˜์ด์ง€์˜ ์„ค์น˜๊ทธ๋ฆผ์„ ์ฐธ์กฐํ•˜์„ธ์š”)

  10. ๋งˆ์ง€๋ง‰์œผ๋กœ Doxyfile์„ ๊ณ ์ณ๋ณด์ž. (doxygen์€ ํ•œ๊ธ€์„ ์ง€์›ํ•œ๋‹ค. ^^) ๋‹ค์Œ ๋ถ€๋ถ„์„ ์ฐพ๋Š”๋‹ค.
...
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.

OUTPUT_LANGUAGE        = English
...
ํ•„์ด ํŒ์˜ค๋Š”๊ฐ€? ^^; Korean์œผ๋กœ ์–ผ๋ฅธ ๊ณ ์ณ์ฃผ์ž. ^^;

  • ์„ค์น˜๊ฐ€ ๋๋‚ฌ๋‹ค. ์ถ•ํ•˜ํ•œ๋‹ค. ^^;

  • 3 ์‚ฌ์šฉํ•ด๋ณด์ž! #

    ์šฐ์„  ๋งŒ๋งŒํ•œ ํ”„๋กœ์ ํŠธํ™”์ผ์„ ์—ด์ž. ํ”„๋กœ์ ํŠธ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ํฌํ•จ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ํ•œ๊ฐœ๋ฅผ Active ์‹œํ‚จ๋‹ค. http://doxbar.sourceforge.net/doxbar.gif ํˆด๋ฐ”์—์„œ ๋งจ ์™ผ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋ณด์ž. ๋๋‚ฌ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‹ด๊ฒจ์ ธ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋’ค์ ธ๋ณด๋ฉด html๊ณผ latex๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ๊ฒจ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. html๋””๋ ‰ํ† ๋ฆฌ์•ˆ์— ๋ณด๋ฉด ๋„์›€๋ง ํ™”์ผ(chmํ™”์ผ)๊ณผ htmlํ™”์ผ์ด ์ƒ์„ฑ๋˜์–ด ์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ •๋ง ๊ฐ„๋‹จํ•˜๋‹ค! ^^;

    4 ์†Œ์Šค์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜์ง€? #

    doxygen์€ ์†Œ์Šค๋ฅผ ๋ชฝ๋•… ํ›‘์–ด ์ฃผ์„๊ณผ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ๋ฉ”๋‰ด์–ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•์€ [http]doxygen ํ™ˆํŽ˜์ด์ง€์˜ manual์„ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค. (์งฌ๋‚˜๋Š”๋ฐ๋กœ ์ด ๋ถ€๋ถ„์„ ์ •๋ฆฌํ•ด๋†“์„ ์˜ˆ์ •์ด๋‹ค) ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•์€ ์ฃผ์„์„ ๋‹ฌ๋•Œ !๋ฌธ์ž๋ฅผ ํ•˜๋‚˜ ๋” ๋ถ™์ด๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ™์—ฌ๋ณด์ž.
    ...
    //! ์ด๊ฒƒ์€ ํ…Œ์ŠคํŠธ์šฉ ํ•จ์ˆ˜๋‹ค.
    void func();
    ...
    

    ๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผrun์ด๋‹ค. ^^; ๊ผญ ํ•œ๋ฒˆ ์ž์‹ ์˜ ๋‚˜๋ฆ„๋Œ€๋กœ์˜ ๊ฒŒ์ž„์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฌธ์„œํ™”ํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค. ์ฝ”๋”ฉ๊ณผ ๋‹ค๋ฅธ ์ƒ‰๋‹ค๋ฅธ ๋ฟŒ๋“ฏํ•จ์ด ์žˆ๋‹ค. ^^;

    5 DoxyFile ์˜ต์…˜ ์„ค๋ช… #

    doxygen์˜ ์‹คํ–‰์˜ต์…˜์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์„ค์น˜๋‹จ๊ณ„์ค‘ 2๋ฒˆ์งธ์—์„œ ์ƒ์„ฑํ•œ ํ™”์ผ์˜ ๋‚ด๋ถ€๋ฅผ ๊ณ ์น˜๋ฉด ๋œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ์ข‹์•„ํ•˜๋Š” text ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •ํ•˜์‹œ๊ธธ...
    OUTPUT_LANGUAGE๊ฒฐ๊ณผ๋ฌผ์˜ ๊ตญ์ (!)์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. Korean์œผ๋กœ ๋งž์ถ”๋ฉด ๋œ๋‹ค.
    EXTRACT_ALL์ƒ์„ฑํ›„ ๋น„์–ด์žˆ๋Š” ๋ฌธ์„œํ•ญ๋ชฉ๋“ค๋„ ๋ชจ๋‘ ํ‘œ์‹œํ•œ๋‹ค. YES๋กœ ๋งž์ถ”์–ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    EXTRACT_PRIVATEprivate ๋งด๋ฒ„๋“ค์„ ๋ฌธ์„œํ™”ํ•  ๊ฒƒ์ธ์ง€ ์—ฌ๋ถ€.
    EXTRACT_STATICstatic ๋งด๋ฒ„๋“ค์„ ๋ฌธ์„œํ™”ํ•  ๊ฒƒ์ธ์ง€ ์—ฌ๋ถ€.
    SOURCE_BROWSER์†Œ์Šค์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ์ •๋ณด๋งํฌ๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ธ์ง€ ์—ฌ๋ถ€. YES๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    HAVE_DOTgraphviz(์„ค์น˜๋‹จ๊ณ„์—์„œ 3๋ฒˆ์งธ)๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด YES๋กœ ๋†“๋Š”๋‹ค.

    6 ๋งˆ์น˜๋ฉฐ #

    ์œ„ ์„ค์น˜๋‹จ๊ณ„์—์„œ 2๋ฒˆ ๋‹จ๊ณ„์˜ Doxyfile์„ ๋งŒ๋งŒํ•œ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ ์ž˜ ์ˆ˜์ •ํ•˜๋ฉด doxygen์„ 120% ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋งŽ์€ ๋„์›€์„ ๋ฐ›์€ ํˆด์ด๊ธฐ์— ์ด๋ ‡๊ฒŒ ์„ค์น˜๊ธฐ๋ฅผ ์ ์–ด๋ณธ๋‹ค. ์ด๋Ÿฐ ์ฃผ์„๋ถ„์„ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋”ฉ๊ณผ ๋™์‹œ์— ๋ฉ”๋‰ด์–ผ ์ž‘์—…์„ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์ƒ๊ธด๋‹ค. (์ž๋ฐ”์—์„œ๋Š” javadoc์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค๊ณ  ๋“ค์—ˆ๋‹ค.) ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฉด C/C++์„ ๋ฒ—์–ด๋‚˜๊ธฐ๋Š” ํž˜๋“œ๋ฏ€๋กœ ์ด๋Ÿฐ ํˆด์„ ์•Œ์•„๋‘๋ฉด ํŒ€์›๋“ค๋ผ๋ฆฌ์˜ ๋ฌธ์„œํ™”์™€ ์ž‘์—…๊ต๋ฅ˜, ํ”„๋กœ์ ํŠธ ๋„์›€๋ง ์ž‘์—… ๋ฐ ๋ฌธ์„œํ™” ์ž‘์—…์˜ ๋Šฅ๋ฅ ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฆฌ๋ผ ๋ฏฟ๋Š”๋‹ค.

    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2010-10-28 12:42:52
    Processing time 0.4054 sec