์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

critcl - ํด๋ผ์šฐ๋“œ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ critcl ์‹คํ–‰

์ด๊ฒƒ์€ Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” critcl ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


critcl-CriTcl ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ

๊ฐœ์š”


ํฌ๋ฆฌํ‹ฐ์ปฌ ?์„ ํƒ๊ถŒ...? ?ํŒŒ์ผ...?

_________________________________________________________________

๊ธฐ์ˆ 


ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค C ๋Ÿฐํƒ€์ž„ In Tcl, ํฌ๋ฆฌํ‹ฐํด ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ C ํ™•์žฅ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
Tcl ์Šคํฌ๋ฆฝํŠธ์— ํฌํ•จ๋œ C ์ฝ”๋“œ์—์„œ ์ฆ‰์„์—์„œ Tcl์„ ๋งŒ๋“ค๋ ค๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์œ„ํ•ด
์ฝ”๋“œ๊ฐ€ ๋” ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” ๋‹ค์Œ์— ๋Œ€ํ•œ ์ฐธ์กฐ ๋งจํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ ๋ช…๋ น. ๋Œ€์ƒ ์ฒญ์ค‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค ํฌ๋ฆฌํ‹ฐ์ปฌ ๋ฐฐ์น˜๋ฅผ ์œ„ํ•ด. ํŒจํ‚ค์ง€ ์ž‘์„ฑ์ž
ํฌํ•จ๋œ C ์ฝ”๋“œ๋Š” ์ด ๋ฌธ์„œ๋ฅผ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๊ฐœ์š”๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
๋Œ€์‹  ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๊ฐœ์š” ์— ํฌ๋ฆฌํ‹ฐํด.

์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ CriTcl์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ณ„์ธต์— ์žˆ์Šต๋‹ˆ๋‹ค.

*==================*
|์‘์šฉ ํ”„๋กœ๊ทธ๋žจ |
| ํฌ๋ฆฌํ‹ฐ์ปฌ |
| ํฌ๋ฆฌํ‹ฐ์ปฌ::์•ฑ |
*==================*

+----------------+
|ํ•ต์‹ฌ ํŒจํ‚ค์ง€ |
| ํฌ๋ฆฌํ‹ฐ์ปฌ |
| ํฌ๋ฆฌํ‹ฐ์ปฌ::์œ ํ‹ธ |
+----------------+

+----------------+
|์ง€์› ํŒจํ‚ค์ง€|
| ์Šคํ…::* |
| md5, ํ”Œ๋žซํผ |
| ... |
+----------------+

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ ์ผ๋ฐ˜ ๋ช…๋ น์ค„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋ฆฌํ‹ฐ์ปฌ ?์„ ํƒ๊ถŒ...? ?ํŒŒ์ผ...?
์ง€์›๋˜๋Š” ์ •ํ™•ํ•œ ์˜ต์…˜ ์„ธํŠธ, ํ•ด๋‹น ์˜๋ฏธ ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ์€ ์— ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
์„น์…˜์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜ต์…˜ ์•„๋ž˜์—. ๋” ํฐ ์˜ˆ์ œ ์„ธํŠธ๋Š” ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
๊ด€๋ จ ๋ฌธ์„œ์˜ "Building Critcl Packages" ์‚ฌ์šฉ ํฌ๋ฆฌํ‹ฐํด.

์‹ ์ฒญ ์˜ต์…˜


๋‹ค์Œ ์˜ต์…˜์ด ์ดํ•ด๋ฉ๋‹ˆ๋‹ค.

-v

--๋ฒˆ์—ญ
์ด๋Ÿฌํ•œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด critcl์ด ํ•ด๋‹น ๋ฒ„์ „์„ ๋‹ค์Œ์œผ๋กœ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ์ถœ๋ ฅ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-I ํ†ต๋กœ
์ด ์˜ต์…˜์€ ์ปดํŒŒ์ผ ์ค‘์— ์‚ฌ์šฉํ•  ์ถ”๊ฐ€ ์ „์—ญ ํฌํ•จ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์˜ ".critcl" ํŒŒ์ผ. ์ด ๊ฐ’์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •ํ•˜๋ฉด ๋ชจ๋“  ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-L ํ†ต๋กœ
์ด ์˜ต์…˜์€ ์—ฐ๊ฒฐ ์ค‘์— ์‚ฌ์šฉํ•  ์ถ”๊ฐ€ ์ „์—ญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
์˜ ".critcl" ํŒŒ์ผ. ์ด ๊ฐ’์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •ํ•˜๋ฉด ๋ชจ๋“  ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-์€๋‹‰์ฒ˜ ํ†ต๋กœ
์ด ์˜ต์…˜์€ ๊ฒฐ๊ณผ ์บ์‹œ๋กœ ์‚ฌ์šฉํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด
๊ธฐ๋ณธ๊ฐ’์€ "~/.critcl/" ๋˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ(์ฐธ์กฐ
์„ ํƒ๊ถŒ -ํŒจํ‚ค์ง€ ์ดํ•˜), "~/.critcl/.", ์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •ํ•˜๋ฉด
๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-๊นจ๋—ํ•œ ์ง€์ •๋œ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ ์บ์‹œ๊ฐ€ ๋น„์›Œ์ง‘๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐœ๊ฒฌ๋œ ๋ชจ๋“  ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ
๋‚ด๋ถ€๋Š” ์‚ญ์ œ๋จ) ์ปดํŒŒ์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์—.

์ด ์˜ต์…˜์€ ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -ํŒจํ‚ค์ง€ ์ดํ•˜) ๋•Œ๋ฌธ์—
์ด ๋ชจ๋“œ๋Š” ๊ณ ์œ ํ•˜๊ณ  ๋น„์–ด ์žˆ๋Š” ๊ฒฐ๊ณผ ์บ์‹œ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-๊ตฌ์„ฑ ํ†ต๋กœ
์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
์ž์ฒด ๋Œ€์ƒ ์‚ฌ์–‘์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์œ ์„  ๊ธฐ๋ณธ๊ฐ’
์‹œ์Šคํ…œ ์ฝ”์–ด์— ๋‚ด์žฅ๋œ ๊ตฌ์„ฑ์ด ๋Œ€์‹  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ง€์ •ํ•œ ๊ฒฝ์šฐ
๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์‚ฌ์šฉ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-๋””๋ฒ„๊ทธ ๋ชจ๋“œ
์ด ์˜ต์…˜์€ ๋””๋ฒ„๊น…๊ณผ ํ•จ๊ป˜ ์ปดํŒŒ์ผ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ชจ๋“œ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ธ์ œ
์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •๋œ ๋ชจ๋“  ๋ชจ๋“œ์˜ ์กฐํ•ฉ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

๊ธฐ์–ต ์ด ๋ชจ๋“œ๋Š” Tcl์„ ํ†ตํ•ด ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๋””๋ฒ„๊น…์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
ํ•ต์‹ฌ.

๊ธฐํ˜ธ
์ด ๋ชจ๋“œ๋Š” ๋ชจ๋“  ".c" ๋””๋ฒ„๊น… ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ.

๋ชจ๋“  ์ด ๋ชจ๋“œ๋Š” ๋‘˜ ๋‹ค ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์–ต ๊ณผ ๊ธฐํ˜ธ.

-์žฅ์• ๋ฅผ ์ž…ํžˆ๋‹ค name
์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. name ์— ๊ทธ๋ฆ‡๋œ.
"-with-"์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.name 0 "

์ •๋ณด๋Š” ".critcl" ์‹ค์ œ ์ž…๋ ฅ ํŒŒ์ผ
์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์„ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. name.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-ํ•  ์ˆ˜์žˆ๊ฒŒํ•˜๋‹ค name
์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. name ์— ์ฐธ๋œ.
"-with-"์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.name 1 "

์ •๋ณด๋Š” ".critcl" ์‹ค์ œ ์ž…๋ ฅ ํŒŒ์ผ
์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์„ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. name.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-ํž˜ ์ง€์ •๋œ ์ปดํŒŒ์ผ์ด ํ•ญ์ƒ ์ˆ˜ํ–‰๋˜๋ฉด ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋”๋ผ๋„
์ด๋ฏธ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด ํšจ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์บ์‹œ ์ •๋ฆฌ(์œ„ ์ฐธ์กฐ)๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธ€์Ž„, ํŒŒ์ผ ํŒŒ๊ดด์— ๊ฒŒ์œผ๋ฅด๊ณ  ํŒŒ์ผ์„ ํŒŒ๊ดดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด
์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ๋Š” ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -ํŒจํ‚ค์ง€ ์ดํ•˜) ๋•Œ๋ฌธ์—
์ด ๋ชจ๋“œ๋Š” ๊ณ ์œ ํ•˜๊ณ  ๋น„์–ด ์žˆ๋Š” ๊ฒฐ๊ณผ ์บ์‹œ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-๋„์›€ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ๋ช…๋ น์ค„ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๋„์›€๋ง์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ ์˜ต์…˜์„ ์„ ํƒํ•œ ๋‹ค์Œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-์œ ์ง€ํ•˜๋‹ค ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ".c" ์‹คํ–‰์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํŒŒ์ผ์€
๊ฒฐ๊ณผ ์บ์‹œ. ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ(์˜ต์…˜ ์ฐธ์กฐ -ํŒจํ‚ค์ง€ ์•„๋ž˜) ์ด๊ฒƒ์€ ๋˜ํ•œ ๋ฐฉ์ง€
์‹คํ–‰์— ์‚ฌ์šฉ๋œ ๊ณ ์œ ํ•œ ๊ฒฐ๊ณผ ์บ์‹œ ์‚ญ์ œ. ์ด ์˜ต์…˜์€
๋””๋ฒ„๊น…์„ ์œ„ํ•ด ํฌ๋ฆฌํ‹ฐ์ปฌ ์ž์ฒด ๊ฒ€์‚ฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒ์„ฑ๋œ C ์ฝ”๋“œ.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-libdir ํ†ต๋กœ
์ด ์˜ต์…˜์€ ์˜ต์…˜์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. -ํŒจํ‚ค์ง€
์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. -L. ์–ธ์ œ
์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ „ํ˜€ ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ
๊ธฐ๋ณธ, "lib"๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ƒ๋Œ€ ๊ฒฝ๋กœ์ธ์ง€ ํ™•์ธํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ์œ„์น˜์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ.

-ํฌํ•จ๋””๋ ‰ํ„ฐ๋ฆฌ ํ†ต๋กœ
์ด ์˜ต์…˜์€ ์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€ ํ—ค๋”๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌํ•จ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. -I. ์ง€์ •๋œ ๊ฒฝ์šฐ
๋งˆ์ง€๋ง‰ ๊ฐ’์ด ๋Œ€์ƒ์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ด์ „ ๊ฐ’์€ ๋ชจ๋‘
ํฌํ•จ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์— ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ „ํ˜€ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๋•Œ,
"ํฌํ•จ"๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ผ๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.
ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-ํŒจํ‚ค์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ ๋ชจ๋“œ๋Š” ".critcl"์— ๋‚˜์—ด๋œ ํŒŒ์ผ
๋ช…๋ น์ค„์„ ์—ด๊ณ  ๊ฒฐ๊ณผ ์บ์‹œ์— ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์ „ ์ฑ„์šฐ๊ธฐ
์ค‘์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์บ์‹œํ•˜์—ฌ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์„ ์ค„์ž…๋‹ˆ๋‹ค.
ํŒจํ‚ค์ง€.

์ด ์˜ต์…˜์€ ๋‹ค๋ฅธ ๋ชจ๋“œ ์ค‘ ํ•˜๋‚˜์ธ ํŒจํ‚ค์ง€ ์ƒ์„ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š”
์ž…๋ ฅ ํŒŒ์ผ์€ ํ‰์†Œ์™€ ๊ฐ™์ด ๋จผ์ € ์ฒ˜๋ฆฌ๋˜์ง€๋งŒ ๊ทธ ํ›„์— ๋ฒˆ๋“ค๋กœ ๋ฌถ์ž…๋‹ˆ๋‹ค.
์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹จ์ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ถ”๊ฐ€ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
์ผ๋ฐ˜ Tcl ํŒจํ‚ค์ง€.

์˜ต์…˜ -์ฐจ, ์•„๋ž˜ ์ฐธ์กฐ, ๋งˆ์ง€๋ง‰ ๋ชจ๋“œ์ธ TEA ์ƒ์„ฑ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ๋ชจ๋‘ ์žˆ๋Š” ๊ฒฝ์šฐ
์ฆ‰ -ํŒจํ‚ค์ง€ ๊ณผ -์ฐจ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ง€์ •๋œ ์Šน๋ฆฌ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“œ์—์„œ ์˜ต์…˜ -๊นจ๋—ํ•œ ๊ณผ -ํž˜ ๊ด€๋ จ์ด ์—†๊ณ  ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ๋Œ€์กฐ์ ์œผ๋กœ,
์˜ต์…˜ -libdir ์ด๊ฒƒ๊ณผ ๋‘˜ ๋‹ค์— ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค -์ฐจ ๋ฐฉ๋ฒ•.

์ด ์˜ต์…˜์ด ์ง€์ •๋˜๋ฉด ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ ์ธ์ˆ˜์˜ ๊ธฐ๋ณธ ์ด๋ฆ„
options๋Š” ์ƒ์„ฑํ•  ํŒจํ‚ค์ง€์˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์—ฐ์žฅ์„ ์ด๋ผ๋ฉด
ํŒŒ์ผ์€ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(".๊ทธ๋ž˜์„œ"".sl"".dylib"๋ฐ".DLL") ์—ญ์‹œ
์ž…๋ ฅ ํŒŒ์ผ ์„ธํŠธ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ใ… ".tcl" ํŒŒ์ผ์€ ์ž…๋ ฅ์˜ ์ผ๋ถ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. A
ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ๋‹จ์ผ ํŒŒ์ผ์€ ์‹ค์ œ๋กœ ".tcl" ํ™•์žฅ์ž.A
ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ํŒŒ์ผ์ด์ง€๋งŒ ๋‹ค์Œ์˜ ๋‹ค๋ฅธ ์ž…๋ ฅ ํŒŒ์ผ์€ ์ด๋ฆ„์œผ๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค.
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ ์ ˆํ•˜๊ณ  ์ž…๋ ฅ ํŒŒ์ผ ์„ธํŠธ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ :
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: foo.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: bar.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: foo.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: bar.tcl

-๋ณด์—ฌ ์ฃผ๋‹ค ์ด ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์—์„œ ๊ตฌ์„ฑ์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
์„ ํƒํ•œ ๋Œ€์ƒ ํ‘œ์ค€ ์ถœ๋ ฅ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ ์„ ํƒ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ
์˜ต์…˜์„ ํ†ตํ•ด -ํ‘œ์  (์•„๋ž˜ ์ฐธ์กฐ).

-๋ชจ๋‘ ๋ณด์ด๊ธฐ
์ด ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ์„ ํƒํ•œ ์ „์ฒด๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
๊ตฌ์„ฑ ํŒŒ์ผ ํ‘œ์ค€ ์ถœ๋ ฅ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ต์…˜์„ ํ†ตํ•ด ์˜ํ–ฅ์„ ๋ฐ›์Œ -๊ตฌ์„ฑ (์œ„ ์ฐธ์กฐ).

-ํ‘œ์  name
์ด ์˜ต์…˜์€ ๋นŒ๋“œ ๋Œ€์ƒ์˜ ๊ธฐ๋ณธ ์„ ํƒ์„ ์‚ฌ์šฉ์ž์˜ ์„ ํƒ์œผ๋กœ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ ๋ฒˆ ์ง€์ •ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ช…๋œ ๋Œ€์ƒ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์„ ํƒํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ. ์‚ฌ์šฉ ์˜ต์…˜ -๋Œ€์ƒ (์•„๋ž˜ ์ฐธ์กฐ) ๋ชฉ๋ก์„ ์–ป์œผ๋ ค๋ฉด
ํ—ˆ์šฉ๋˜๋Š” ๋Œ€์ƒ. ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ์„ ํƒ์€ ๋‹ค์Œ์„ ํ†ตํ•ด ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ต์…˜ -๊ตฌ์„ฑ (์œ„ ์ฐธ์กฐ).

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์•„๋ž˜).

-๋Œ€์ƒ
์ด ์˜ต์…˜์„ ์ง€์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ์•Œ๋ ค์ง„ ๋ชจ๋“  ๋ชฉ๋ก์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
์„ ํƒํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ๋Œ€์ƒ์œผ๋กœ ํ‘œ์ค€ ์ถœ๋ ฅ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์˜ ์„ ํƒ
๊ตฌ์„ฑ ํŒŒ์ผ์€ ์˜ต์…˜์„ ํ†ตํ•ด ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -๊ตฌ์„ฑ (์œ„ ์ฐธ์กฐ).

-์ฐจ ์˜ต์…˜๊ณผ ์œ ์‚ฌ -ํŒจํ‚ค์ง€, ํ˜ธ์ถœ๋œ ๋ชจ๋“œ๊ฐ€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ ,
๊ทธ๋Ÿฌ๋‚˜ ".critcl" ํŒŒ์ผ, ๋™๋ฐ˜ ํŒŒ์ผ ๋ฐ
ํ•„์š”ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์ง€์› ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ TEA ์œ ์‚ฌ ๋นŒ๋“œ ์‹œ์Šคํ…œ(์‚ฌ๋ณธ ํฌํ•จ)
critcl ํŒจํ‚ค์ง€).

๋‘ ์˜ต์…˜, ์ฆ‰ -ํŒจํ‚ค์ง€ ๊ณผ -์ฐจ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ง€์ •๋œ ์Šน๋ฆฌ๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“œ์—์„œ ์˜ต์…˜ -I, -L, -๊นจ๋—ํ•œ, -ํž˜, -์€๋‹‰์ฒ˜, -ํฌํ•จ๋””๋ ‰ํ„ฐ๋ฆฌ, -ํ•  ์ˆ˜์žˆ๊ฒŒํ•˜๋‹ค,
-์žฅ์• ๋ฅผ ์ž…ํžˆ๋‹ค๋ฐ -FOO์™€ ํ•จ๊ป˜ ๊ด€๋ จ์ด ์—†๊ณ  ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ์— ๋ฐ˜ํ•ด ์˜ต์…˜์€ -libdir
์ด๊ฒƒ๊ณผ ๋‘˜ ๋‹ค์— ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค -ํŒจํ‚ค์ง€ ๋ฐฉ๋ฒ•.

์ด ์˜ต์…˜์ด ์ง€์ •๋˜๋ฉด ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ํŒŒ์ผ ์ธ์ˆ˜์˜ ๊ธฐ๋ณธ ์ด๋ฆ„
options๋Š” ์ƒ์„ฑํ•  ํŒจํ‚ค์ง€์˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์—ฐ์žฅ์„ ์ด๋ผ๋ฉด
ํŒŒ์ผ์€ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(".๊ทธ๋ž˜์„œ"".sl"".dylib"๋ฐ".DLL") ์—ญ์‹œ
์ž…๋ ฅ ํŒŒ์ผ ์„ธํŠธ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ใ… ".tcl" ํŒŒ์ผ์€ ์ž…๋ ฅ์˜ ์ผ๋ถ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. A
ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ๋‹จ์ผ ํŒŒ์ผ์€ ์‹ค์ œ๋กœ ".tcl" ํ™•์žฅ์ž.A
ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ํŒŒ์ผ์ด์ง€๋งŒ ๋‹ค์Œ์˜ ๋‹ค๋ฅธ ์ž…๋ ฅ ํŒŒ์ผ์€ ์ด๋ฆ„์œผ๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค.
๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ ์ ˆํ•˜๊ณ  ์ž…๋ ฅ ํŒŒ์ผ ์„ธํŠธ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ :
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: foo.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: bar.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: foo.tcl
=> ํŒจํ‚ค์ง€ ์ด๋ฆ„: foo
=> ์ž…๋ ฅ ํŒŒ์ผ: bar.tcl

-์ด๋ฆ„์œผ๋กœ ๊ฐ€์น˜
์ด ์˜ต์…˜์€ ์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. name ์— ๊ฐ€์น˜.

์ •๋ณด๋Š” ".critcl" ์‹ค์ œ ์ž…๋ ฅ ํŒŒ์ผ
์‚ฌ์šฉ์ž ์ง€์ • ๋นŒ๋“œ ๊ตฌ์„ฑ ์˜ต์…˜์„ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. name.

์ด ์˜ต์…˜์€ TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค(์˜ต์…˜ ์ฐธ์กฐ). -์ฐจ ์œ„).

PACKAGE ๊ตฌ์กฐ


critcl์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms(์„ ํƒ ์‚ฌํ•ญ)
|
+- tcl(์„ ํƒ ์‚ฌํ•ญ)
| +-
|
+-
+-

๋…ธํŠธ

[1] ํŒŒ์ผ "pkgIndex.tcl"๋Š” Tcl์ด ์˜ˆ์ƒํ•˜๋Š” ํ‘œ์ค€ ํŒจํ‚ค์ง€ ์ƒ‰์ธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ. ํŒจํ‚ค์ง€ ๊ฒ€์ƒ‰ ์ค‘์— ์†Œ์‹ฑ๋˜๋ฉฐ ๋‹ค์Œ์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ Tcl์— ๋Œ€ํ•œ ํŒจํ‚ค์ง€ ๋ฐ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•.

[2] ํŒŒ์ผ "critcl-rt.tcl"๋Š” ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณตํ†ต ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋„์šฐ๋ฏธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
"pkgIndex.tcl" ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

[3] ํŒŒ์ผ "๋ผ์ด์„ ์Šค.์•ฝ๊ด€"๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ".critcl"ํŒŒ์ผ์„
ํŒจํ‚ค์ง€๋Š” ์‚ฌ์šฉ๋œ ๋ช…๋ น์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ผ์ด์„ผ์Šค ํŒจํ‚ค์ง€ ์„ ์–ธ
์ €์ž ๋ฐ ๋ผ์ด์„ผ์Šค.

[4] ๋ช…๋ น์œผ๋กœ ์„ ์–ธ๋œ ๋ชจ๋“  ํŒŒ์ผ ํฌ๋ฆฌํ‹ฐ์ปฌ::t์†Œ์Šค ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
"TCL".

[5] critcl์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ”Œ๋žซํผ๋ณ„ ํ•˜์œ„
๋””๋ ‰ํ† ๋ฆฌ.

์ „์ฒด ๊ตฌ์กฐ, ํŠนํžˆ ๋งˆ์ง€๋ง‰ ์ง€์ ์„ ํ†ตํ•ด ๋‚˜์ค‘์— ๊ฒฐ๊ณผ๋ฅผ ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(๋™์ผํ•œ ํŒจํ‚ค์ง€ ๋ฐ ๋ฒ„์ „์šฉ) ์—ฌ๋Ÿฌ ๋Œ€์ƒ ํ”Œ๋žซํผ์„ ๋‹จ์ผ ๋””๋ ‰ํ† ๋ฆฌ๋กœ
์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„œ๋กœ ๋ณต์‚ฌํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ์ถฉ๋Œ ์—†์ด ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋งŒ ๊ทธ๋ฆฌ๊ณ  "TCL" ๋””๋ ‰ํ† ๋ฆฌ, ์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š”
๋Œ€์ƒ ๊ฐ„์— ๋™์ผํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ‘ํ•ฉ์˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms(์„ ํƒ ์‚ฌํ•ญ)
|
+- tcl(์„ ํƒ ์‚ฌํ•ญ)
| +-
|
+-
| +-
+-
| +-
+-
+-

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 2.1


[1] ๋ฒ„๊ทธ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::t์†Œ์Šค ํ•ด์„๋œ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋Š”
"์— ์ƒ๋Œ€์ ์ธ ๋Œ€์‹  ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ.critcl" ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ
์ด ์œ ํ˜•์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ช…๋ น๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

[2] ๊ณ ์ • ๋‚ด๋ถ€, ์—ฌ๋Ÿฌ "์— ๋Œ€ํ•œ ์ •๋ณด ์ˆ˜์ง‘ ๋ฐฉ์ง€".critcl" ํŒŒ์ผ์„
๊ทธ๋“ค ์‚ฌ์ด์— ๋ˆ„์ถœ. ํŠนํžˆ, ํฌ๋ฆฌํ‹ฐ์ปฌ::tk ์ „์—ญ ๊ตฌ์„ฑ ์˜ต์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค.
๋” ์ด์ƒ.

[3] ๋ช…๋ น ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ผ์ด์„ผ์Šค "์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰" ๋ชจ๋“œ์—์„œ null ์ž‘์—…์ด ๋˜๋ ค๋ฉด
์˜ค๋ฅ˜๋ฅผ ๋˜์ง€๋Š” ๋Œ€์‹ .

[4] "์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰" ๊ฒฐ๊ณผ ์บ์‹œ์— ๋Œ€ํ•œ critcl ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ„์„ญ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
in -ํŒจํ‚ค์ง€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ(๋ฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž„์‹œ)
ํ•ด๋‹น ๋ชจ๋“œ์˜ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

[5] "๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •.critcl" ํŒŒ์ผ๋กœ ์ธํ•ด ๋ชจ๋“œ์— ๋Œ€ํ•œ ์žฌ๊ตฌ์ถ•์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
"์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰". ๋ชจ๋“  ๊ด€๋ จ API ๋ช…๋ น์€ ์ด์ œ UUID ๋ณ€๊ฒฝ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

[6] ๋ฐฑ์—”๋“œ ์ฒ˜๋ฆฌ ๋ฒ„๊ทธ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::๋””๋ฒ„๊ทธ ์—ฌ๊ธฐ์„œ ์ปดํŒจ๋‹ˆ์–ธ c-์†Œ์Šค๋Š”
ใ… ".critcl" ํŒŒ์ผ์ด ๋””๋ฒ„๊ทธ ์˜ต์…˜์œผ๋กœ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ".critcl" ํŒŒ์ผ
์˜€๋‹ค.

[7] ๋ฒ„๊ทธ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::๋””๋ฒ„๊ทธ ๋ชจ๋“œ "all"์˜ ์ธ์‹์„ ๋ง‰์•˜์„ ๋•Œ
๋ช…๋ น์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

[8] "์˜ ๋ฒ„๊ทธ ์ˆ˜์ •์˜ˆ์••.c" ๋น„ Windows ํ”Œ๋žซํผ์—์„œ ์ปดํŒŒ์ผ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

[9] ๋ช…๋ น ์ด๋ฆ„์—์„œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•œ์ •์ž๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋žœ ๋ฒ„๊ทธ ์ˆ˜์ •
์ธ์ˆ˜ ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc ๊ณผ ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ช…๋ น. ์ด์ œ ๋‹ค์Œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๊ฐ€ ์—†๋Š” ์ •๊ทœํ™”๋œ ๋ช…๋ น ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

[10] ํ™•์žฅ/์žฌ์ž‘์—… ํฌ๋ฆฌํ‹ฐ์ปฌ::t์†Œ์Šค "๋ฅผ ์„ ์–ธํ•˜๋Š” ์ •์‹ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค..tcl"
์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ์€ "์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰" ๋ชจ๋“œ์—์„œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

[11] ํ™•์žฅ/์žฌ์ž‘์—… ํฌ๋ฆฌํ‹ฐ์ปฌ::t์†Œ์Šค "์˜ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด.critcl" ์ž์‹ ์˜ ํŒŒ์ผ
Tcl ์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ.

[12] ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€์ ์œผ๋กœ OS X ๋นŒ๋“œ ๋Œ€์ƒ์„ ํ™•์ธํ•˜๊ณ  ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„ ์–ธ.

[13] ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::์‹คํŒจ "์—์„œ ๋‘ ๋ฒˆ ์ด์ƒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..critcl" ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ์€ ๋นŒ๋“œ๊ฐ€ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ•์ œ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€
ํ˜ธ์ถœ์€ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ์˜ ์บ์‹œ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

[14] ๋‹ค์Œ์„ ๊ฒฐ์ •ํ•˜๋Š” ์ฝ”๋“œ์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ CC์˜ ์ฒ˜๋ฆฌ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ, ์ปดํŒŒ์ผ๋Ÿฌ ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ฒ˜๋ฆฌ(์ฆ‰, ์ œ๊ฑฐ)ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ปดํŒŒ์ผ๋Ÿฌ
ํ™•์žฅ ๋ฐ ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด ๋’ค์— ์ง€์ •๋˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜๋งŒ ๋‚จ์Œ
์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ธฐ๋ณธ ์ด๋ฆ„.

[15] ๊ฒฝ๋กœ๋ฅผ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ƒ‰์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰ ์‹คํŒจ๋ฅผ ์‰ฝ๊ฒŒ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[16] ์ƒˆ ๋ช…๋ น ํฌ๋ฆฌํ‹ฐ์ปฌ::tcl Tcl์˜ ๋ฒ„์ „์„ ์ตœ์†Œํ•œ์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
"๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค..critcl" ํŒŒ์ผ ๋ฐ ํŒจํ‚ค์ง€. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ 8.4์ž…๋‹ˆ๋‹ค.
์„ ์–ธํ–ˆ๋‹ค. Tcl 8.4, 8.5,
๋ฐ 8.6.

[17] ์ƒˆ ๋ช…๋ น ํฌ๋ฆฌํ‹ฐ์ปฌ::๋กœ๋“œ "์˜ ๋นŒ๋“œ ๋ฐ ๋กœ๋“œ๋ฅผ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค..critcl" ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€
critcl์˜ ๊ธฐ๋ณธ lazy-build-&-load-on-demand ์ฒด๊ณ„๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” ๊ณต์‹์ ์ธ ๋ฐฉ๋ฒ•
๋ชจ๋“œ "์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰"์šฉ.

์ฃผ์˜ ์‚ฌํ•ญ ์‚ฌ์šฉ ํ›„ ํฌ๋ฆฌํ‹ฐ์ปฌ::๋กœ๋“œ / ํฌ๋ฆฌํ‹ฐ์ปฌ::์‹คํŒจ ์•ˆ์— ".critcl" ํŒŒ์ผ์ด ์•„๋‹ˆ๋‹ค
๋” ์ด์ƒ ํ•ด๋‹น ํŒŒ์ผ์—์„œ critcl ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

[18] ์‚ฌ์šฉํ•  '#line' pragma ์ƒ์„ฑ ํ™•์žฅ ์ •๋ณด ์•ก์ž (๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ)
C ์ปดํŒŒ์ผ๋Ÿฌ์— ์ •ํ™•ํ•œ ์ค„ ๋ฒˆํ˜ธ๋ฅผ ".critcl"์— ๋Œ€ํ•œ ํŒŒ์ผ
๊ฒฝ๊ณ  ๋ฐ ์˜ค๋ฅ˜ ๋ณด๊ณ .

[19] ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::์ฒดํฌ ๋””๋ฒ„๊น… ๋นŒ๋“œ ํƒ€์ž„ ๊ฒ€์‚ฌ์— ๋„์›€์ด ๋˜๋Š” ๋กœ๊น…
ํ™˜๊ฒฝ๊ณผ ๋ ˆ์ด๋ธ” ์ง€์ •์„ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ ์„ ํƒ์  ์ธ์ˆ˜์ž…๋‹ˆ๋‹ค.

[20] ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด ์ถ”๊ฐ€ ํฌ๋ฆฌํ‹ฐ์ปฌ::์ฒดํฌ๋งํฌ ํ™˜๊ฒฝ์„ ํ™•์ธํ•˜๋ ค๊ณ  ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
์ฝ”๋“œ ์ปดํŒŒ์ผ์„ ํ†ตํ•ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

[21] ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด ์ถ”๊ฐ€ ํฌ๋ฆฌํ‹ฐ์ปฌ::msg ๋ช…๋ น๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง•์šฉ ํฌ๋ฆฌํ‹ฐ์ปฌ::์˜ค๋ฅ˜ ์ž…๋‹ˆ๋‹ค
์˜ค๋ฅ˜ ๋ณด๊ณ . ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๊ฒƒ์€ ํŒจํ‚ค์ง€ ์‚ฌ์šฉ์ž๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ›„ํฌ์ž…๋‹ˆ๋‹ค.
์šฐ์„ธํ•˜๋‹ค. ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๊ตฌํ˜„ ํŽธ์ง‘ํ•˜๋‹ค & ์šด์˜ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
๋ชจ๋“œ ๊ตฌํ˜„ ์ƒ์„ฑ ๊พธ๋Ÿฌ๋ฏธ ๋ฉ”์‹œ์ง€๋ฅผ stdout์— ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„ํš๋œ ์‚ฌ์šฉ์€ ๋‹ค์Œ์— ์˜ํ•ด ๊ฒฐ์ •๋œ ๊ฒฐ๊ณผ ๋ณด๊ณ ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::์ฒดํฌ ๊ณผ
ํฌ๋ฆฌํ‹ฐ์ปฌ::์ฒดํฌ๋งํฌ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๋ฌด์–ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ๋””๋ฒ„๊น…์„ ๋•๊ธฐ ์œ„ํ•ด
์ˆ˜ํ‘œ๋กœ.

[22] ์ธ์ˆ˜ ์ฒ˜๋ฆฌ ๋‚ด๋ถ€๋ฅผ ๋…ธ์ถœ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํ”„๋กœ์‹œ์ € ๊ณ ๊ธ‰ ์‚ฌ์šฉ์„ ์œ„ํ•ด
์‚ฌ์šฉ์ž. ์ƒˆ๋กœ์šด ๋ช…๋ น์€

[1] critcl::arnames

[2] critcl::argcnames

[3] critcl::argc์„œ๋ช…

[4] critcl::argvardecls

[5] critcl::argconversion

์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค Advnaced Embedded C ์•”ํ˜ธ ์˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ํŒจํ‚ค์ง€ ์„ค๋ช…์„œ
์„ธ๋ถ€.

[23] ๊ฐ€๋กœ์ฑ„๊ธฐ ์œ„ํ•ด critcl ํŒจํ‚ค์ง€ ํ™•์žฅ ๊พธ๋Ÿฌ๋ฏธ ์ œ๊ณต ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ์„ ๊ธฐ๋ก ->
ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋งคํ•‘. ๋˜ํ•œ ๊ธฐํƒ€ ๋‚ด๋ถ€ ๋ณ€๊ฒฝ์œผ๋กœ ์ด์ œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์‚ฌ์šฉ์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
์—ฌ์ „ํžˆ ์ ์ ˆํ•œ ๊ฒฝ๋กœ ์ด๋ฆ„๊ณผ init ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

[24] ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ช…๋ น ์‚ญ์ œ ํฌ๋ฆฌํ‹ฐ์ปฌ::์ตœ์ ํ™” ๊ณผ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํฌํ•จ.

[25] ๋–จ์–ด์กŒ๋‹ค -lib critcl ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.

[26] Tcl 8.3 ์ด์ „ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3


[1] ๋ช…๋ น ํฌ๋ฆฌํ‹ฐ์ปฌ::ํ”Œ๋žซํผ ๋ฒ„์ „ 2.1์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋‹ค์Œ์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
critcl::๋Œ€์ƒ ํ”Œ๋žซํผ, ๊ทธ๋Ÿฌ๋‚˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[2] ๋ช…๋ น ํฌ๋ฆฌํ‹ฐ์ปฌ::์ปดํŒŒ์ผ๋จ ์˜๋ฏธ ์ฒด๊ณ„๊ฐ€ ์žˆ๋Š” ๋ฒ„์ „ 2.1์—์„œ ์œ ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๊ทธ๊ฒƒ๊ณผ ๋ชจ์ˆœ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ์ˆœ์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ,
๋ช…๋ น์˜ ๊ฐ€์‹œ์  ์˜๋ฏธ๋ฅผ ํ•ด๋‹น ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

[3] ๋ฒ„์ „ 3์œผ๋กœ์˜ ๋ณ€๊ฒฝ์€ ๋‘ ๊ฐœ์˜ ๋น„ํ˜ธํ™˜ ๊ฐ€์‹œ์„ฑ ๋•Œ๋ฌธ์— ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์œ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ.

[4] ์ƒˆ ์˜ต์…˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง€ ํ™•์žฅ -์ฐจ. ์ง€์ •
์ด ์˜ต์…˜์€ critcl์ด TEA ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํŠน์ˆ˜ ๋ชจ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต์— ๋Œ€ํ•œ ์ž…๋ ฅ ๋ฐ ์ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ง€์› ํŒŒ์ผ TEA-
์œ ์‚ฌ ๋นŒ๋“œ ์‹œ์Šคํ…œ.

์ด ์ƒˆ๋กœ์šด ์˜ต์…˜๊ณผ -ํŒจํ‚ค์ง€, ์„œ๋กœ๋ฅผ ์ œ์™ธํ•˜์‹ญ์‹œ์˜ค. ๋‘˜ ๋‹ค ์ง€์ •๋œ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฌ์šฉํ•œ
์˜ต์…˜์ด ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์ž์ฒด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ์™„์ „ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
์ž‘๋™ํ•˜๋Š” Tcl ์„ค์น˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž‘๋™ํ•˜๋Š” ์„ค์น˜๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
ํŒจํ‚ค์ง€์˜ md5 ๊ณผ ๋ช…๋ น์ค„. ์ด ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ํ‹ฐํด๋ฆฝ ๋ฌถ์Œ.
ํ•„์ˆ˜๋Š” ์•„๋‹ˆ์ง€๋งŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
md5์˜ ์ž‘์—…์„ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์•”ํ˜ธํ‚คํŠธ, tcllibc๋ฐ TRF.

[5] ์ƒˆ ๋ช…๋ น์œผ๋กœ critcl ํŒจํ‚ค์ง€ ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::์Šค์บ” ๋กœ ๊ฐ€๋Š” ๊ธธ์„ ํƒํ•˜๋‹ค
".critcl" ํŒŒ์ผ์„ ์ •์ ์œผ๋กœ ์Šค์บ”ํ•˜๊ณ  ๋ผ์ด์„ผ์Šค, ๋ฒ„์ „, ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ, ๊ฐ€์ ธ์˜จ API ๋ชฉ๋ก ๋ฐ ๊ฐœ๋ฐœ์ž ์ง€์ • ์‚ฌ์šฉ์ž ์ •์˜ ๋ชฉ๋ก
๊ตฌ์„ฑ ์˜ต์…˜. ์ด ๋ฐ์ดํ„ฐ๋Š” ์„ค๋ช…๋œ TEA ํฌ์žฅ์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค.
์œ„.

์ด๊ฒƒ์€ ์ •์  ์ธ ์ฃผ์‚ฌ. ๋‹ค๋ฅธ ๋นŒ๋“œ ๋ชจ๋“œ๋Š” ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”(๋ฐ˜๋“œ์‹œ) ๋ฐ˜๋ฉด
".critcl" ์–ด์…ˆ๋ธ”๋œ C ์ฝ”๋“œ์™€ ๊ด€๋ จํ•˜์—ฌ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ํ”Œ๋žซํผ๋ณ„ ๊ฒฐ์ •์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.
์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ ๋“ฑ TEA ๋žฉ ๋ชจ๋“œ๋Š” ํ”Œ๋žซํผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํŠน์ • ๊ฒฐ์ •. ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํฌ์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์‹ค์ œ๋กœ ๊ฑด์ถ•ํ•  ๋•Œ ๋”ฐ๋ผ์„œ ์ •์  ์Šค์บ”. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ž์ฒด ์„ธํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ, ์ฆ‰ ๋™๋ฐ˜์ž์˜ ๋™์  ๊ตฌ์„ฑ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์—†์Œ
์ ์–ด๋„ ๊ทธ ์ž์ฒด๋กœ๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ. ๋”ฐ๋ผ์„œ:

[6] critcl ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” API๋ฅผ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::์†Œ์œ . ๋™์•ˆ
์ด ๋ช…๋ น์€ ์ •์  ์Šค์บ๋„ˆ๊ฐ€ ์„ค๋ช…ํ•œ ์ผ๋ฐ˜ ๋นŒ๋“œ ๋ชจ๋“œ์—์„œ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
์œ„์˜ ์ธ์ˆ˜๋Š” ๋ž˜ํ•‘ํ•ด์•ผ ํ•˜๋Š” ์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ์˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
TEA ํŒจํ‚ค์ง€์— ๋“ค์–ด๊ฐ€๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์Šค์บ๋„ˆ์—์„œ ์•Œ์•„๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋™์  ๊ฒฝ๋กœ ๋•Œ๋ฌธ์— ํฌ๋ฆฌํ‹ฐ์ปฌ::t์†Œ์Šค, ํฌ๋ฆฌํ‹ฐ์ปฌ::c์†Œ์Šค, ์†Œ์‹ฑ ๋ฐ›๊ธฐ
์ง์ ‘ ๋˜๋Š” ๋‹จ์ˆœํžˆ ๋ถ€์† ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ๋ฉ๋‹ˆ๋‹ค.

[7] critcl ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” API๋ฅผ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::api ์œ„ํ•œ
์Šคํ… ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ(์‚ฌ์šฉ ๋ฐ/๋˜๋Š” ์„ ์–ธ ๋ฐ ๋‚ด๋ณด๋‚ด๊ธฐ).

์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค ์Šคํ… ์ž‘์—…๋Œ€ ์˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ํŒจํ‚ค์ง€ ์„ค๋ช…์„œ
์„ธ๋ถ€.

[8] critcl ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” API๋ฅผ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::์‚ฌ์šฉ์ž ๊ตฌ์„ฑ
๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์ •ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ์„ฑ ์˜ต์…˜ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด
์‚ฌ์šฉ ๋ฐ/๋˜๋Š” ์„ ์–ธ.

์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค ๊ด€์Šต ์ง“๋‹ค ๊ตฌ์„ฑ ์˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ํŒจํ‚ค์ง€ ๋ฌธ์„œ
์ž์„ธํ•œ ๋‚ด์šฉ์€.

[9] ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ critcl ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” API๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
ํฌ๋ฆฌํ‹ฐ์ปฌ::์„ค๋ช…, ํฌ๋ฆฌํ‹ฐ์ปฌ::์š”์•ฝ, ํฌ๋ฆฌํ‹ฐ์ปฌ::์ œ๋ชฉ, ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ฉ”ํƒ€๋ฐ
ํฌ๋ฆฌํ‹ฐ์ปฌ::๋นŒ๋“œ ์š”๊ตฌ ์‚ฌํ•ญ TEApot ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์„ ์–ธ
ํŒจํ‚ค์ง€.

์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค ๋ฌถ์Œ ๋ฉ”ํƒ€ Data ์˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ํŒจํ‚ค์ง€ ์„ค๋ช…์„œ
์„ธ๋ถ€.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.1


[1] ์ „๋ฐ˜์ ์ธ ๋ฒ„๊ทธ ์ˆ˜์ •. ์ƒ์„ธํžˆ:

[2] Tcl ๋ฒ„์ „ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๊ณ ์ • ๊ธฐ๋ก. ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ฐ ๋ฒ„์ „ ์œ ์ง€
ํ•จ๊ป˜, ๊นจ์ง€์ง€ ์•Š๋Š” ์ƒ์„ฑ๋œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ๋ฐ ์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€ ๋กœ๋“œ ๋ช…๋ น.

[3] ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •: TEA๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๋ž˜ํ•‘ํ•  ๋•Œ ๋ˆ„๋ฝ๋œ ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ

[4] ์ฐฝ์ด ์—ด๋ฆด ๋•Œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ข…๋ฃŒํ•˜๋„๋ก ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
GUI๋Š” (X) ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋‹ซํž™๋‹ˆ๋‹ค.

[5] ๊ธฐ๋ณธ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์— ํฌํ•จ๋œ 8.5-ism(open wb)์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

[6] ์˜ˆ์ œ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋นˆ ์ค„์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์˜ˆ์ œ(๋ฐ ํŒจํ‚ค์ง€).

[7] stack::c ์˜ˆ์ œ ๋ฒ„๊ทธ ์ˆ˜์ •: ์ปดํŒจ๋‹ˆ์–ธ ํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•  API ์„ ์–ธ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

[8] ๋ฌธ์„œ ํ™•์žฅ: C์˜ ์ž‘๋™ ์„ค์น˜์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์„ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ.

[9] ์‚ฌ์šฉ๋œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด Windows ๋Œ€์ƒ ์ •์˜ ๋ฐ ์ฝ”๋“œ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
์ตœ์‹  MS ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ์˜ํ•ด. ์ด ์ฝ”๋“œ๋Š” ๋‘˜ ๋‹ค ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€๋Šฅ์„ฑ, ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ ๋ฐ (์˜ค๋ž˜๋œ) ์—†๋Š” ํ™˜๊ฒฝ.

[10] ํ•„์š”๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•˜๋„๋ก Windows 64๋น„ํŠธ ๋Œ€์ƒ ์ •์˜ ๋ฐ ์ฝ”๋“œ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
๋„์šฐ๋ฏธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ "bufferoverflowU.lib" ๋ฐ ์ปดํŒŒ์ผ ๋ฐ ๋งํฌ ์žฌ๊ตฌ์„ฑ
์ ์ ˆํ•˜๊ฒŒ ๋ช…๋ นํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ ๋งํฌ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ ์•„์ง ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ LIB๋กœ ์ง€์ •๋œ ๊ฒฝ๋กœ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.2


[1] auto_index์— ๋„ฃ์€ ๋ช…๋ น์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰ ๋ชจ๋“œ์˜ ๋ฌธ์ œ ์ˆ˜์ •
Tcl์˜ [unknown] ๋ช…๋ น์— ์˜ํ•ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

[2] ๋ฐฐ์—ด ํ‚ค ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ํด๋ผ์ด์–ธํŠธ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋˜๊ณ 
์ ˆ์ฐจ. Jos DeCoster๊ฐ€ ํŒจ์น˜์™€ ํ•จ๊ป˜ ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

[3] ๋ช…๋ น์ค„ ์˜ต์…˜ ๊ตฌํ˜„ -L, ์˜ต์…˜๊ณผ ๋™์ผ -I, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ „์šฉ
๊ฒ€์ƒ‰ ๊ฒฝ๋กœ.

[4] github ๋ฌธ์ œ 5 ๋ฐ 8์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๋ฝ๋œ ๋ณ€์ˆ˜ ::errorInfo๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ
ํ•ญ์ƒ ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ Tcl์˜ ๊ฐœ์ •ํŒ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด ๊ฐ€์ •์„ ์œ„๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.3


[1] ์˜ˆ์ œ build.tcl ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ github ๋ฌธ์ œ 5 ๋ฐ 8์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ณ€์—์„œ ์ž‘์—…
๋ˆ„๋ฝ๋œ ๋ณ€์ˆ˜ ::errorInfo. ํ•ญ์ƒ ์กด์žฌํ•ด์•ผ ํ•˜์ง€๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
์ด ๊ฐ€์ •์„ ์œ„๋ฐ˜ํ•˜๋Š” Tcl์˜ ๊ฐœ์ •ํŒ.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.4


[1] ๋“ค์–ด์˜ค๋Š” ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ ํŒจํ‚ค์ง€์˜ ์ดˆ๊ธฐ ์ด๋ฆ„ ์ƒ์„ฑ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
stdin์ด๊ณ  ์ ์ ˆํ•œ ๊ฒฝ๋กœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

[2] github ๋ฌธ์ œ 11 ์ˆ˜์ •. ์ด์ œ Windows์—์„œ -L ๋Œ€์‹  /LIBPATH ์‚ฌ์šฉ(libinclude
๊ตฌ์„ฑ ์„ค์ •).

[3] -l ์˜ต์…˜์˜ -l:path ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด critcl์„ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. GNU ld 2.22+๊ฐ€ ์ด๊ฒƒ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ฒฝ๋กœ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฒ€์ƒ‰ํ•˜์—ฌ. ์ผ๋ฐ˜ -l๋กœ ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์ •ํ•  ๋•Œ ์ข‹์Šต๋‹ˆ๋‹ค.
์ •์ ๋ณด๋‹ค ์šฐ์„ ์ ์œผ๋กœ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. critcl์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€๊ธˆ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
์ด์ „ GNU ld๋Š” ์ด๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ๋ฒค๋”๋ณ„ ๋ง์ปค๋„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

[4] github ๋ฌธ์ œ #12 ์ˆ˜์ •. Critcl์€ ์ด์ œ ์‚ฌ์šฉ ์ค‘์ธ MSVC์˜ ๋ฒ„์ „์„ ๊ฒฐ์ •ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์–‘ํ•œ ๋งํฌ ๋””๋ฒ„๊ทธ ์˜ต์…˜ ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ทจ๊ธ‰ ๊ฐ„์†Œํ™”
bufferoverflowU.lib๋„ ๋™์ผํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ  ๋‘ ๊ฐ€์ง€๋ฅผ ์ถ•์†Œํ•ฉ๋‹ˆ๋‹ค.
๊ตฌ์„ฑ ์„น์…˜์„ ๋‹ค์‹œ ํ•˜๋‚˜๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

[5] ์ƒ์„ฑ๋œ C ์ฝ”๋“œ์— #line pragma ์‚ฝ์ž…์„ ์žฌ์ž‘์—…ํ•˜์—ฌ
๋‹ค์–‘ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ถ€๊ณผ๋œ ์ค„ ๋ฒˆํ˜ธ ์ธ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ, ๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€
์ •ํ™•ํ•œ.

[6] ์ˆ˜์ •๋œ ์ธ์ˆ˜ ์ฒ˜๋ฆฌ. -libdir ์˜ต์…˜์€ ์ด์ œ ํ•ด๋‹น ์ธ์ˆ˜์— ๋Œ€ํ•ด -L๋„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

[7] -show ์˜ต์…˜์˜ ํ™•์žฅ ์ฒ˜๋ฆฌ(critcl::์‡ผ๊ตฌ์„ฑ)์˜ ๊ฒฝ๋กœ๋ฅผ ๋‚˜์—ดํ•˜๋ ค๋ฉด
๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ. ๋””๋ฒ„๊น… ๊ตฌ์„ฑ์— ์ ํ•ฉ
์ฒ˜๋ฆฌ.

[8] ํฌํ•จ๋œ ๋ฌธ์„œ๋ฅผ ์žฌ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์ƒ์œผ๋กœ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ๋ฆด๋ฆฌ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.5


[1] C ์ฝ”๋“œ๋ฅผ ์ง€์ •ํ•  ๋•Œ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” #line pragma์— ๋Œ€ํ•œ ์ƒˆ ์ฝ”๋“œ์˜ ๋ฒ„๊ทธ ์ˆ˜์ •
์„ ํ–‰ ๊ณต๋ฐฑ์—†์ด.

[2] ๋ผ์ด์„ผ์Šค, ์†Œ์Šค ๊ฒ€์ƒ‰,
์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.6


[1] github ๋ฌธ์ œ 10 ์ˆ˜์ •. critcl ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด์ œ ์ ์ ˆํ•œ ์ข…๋ฃŒ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. (1)
ํ•ญ์ƒ ์„ฑ๊ณต(์ƒํƒœ 0)์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋Œ€์‹  ๋นŒ๋“œ ์‹คํŒจ ์‹œ.

[2] github ๋ฌธ์ œ 13์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ์— ๋Œ€ํ•œ bufferoverflowU.lib ์ฒ˜๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋””๋ฒ„๊ทธ ๋นŒ๋“œ ์ฒ˜๋ฆฌ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋™์ผํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
(์กฐ๊ฑด๋ถ€) ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘.

[3] ๋ฌธ์„œ ์ •๋ฆฌ, ์ฃผ๋กœ ์„ค์น˜ ์•ˆ๋‚ด์„œ ๋ฐ README.md์— ํ‘œ์‹œ๋จ
github

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.0.7


[1]์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::c++๋ช…๋ น. ๋ฐฉ์ถœ๋œ ์ฝ”๋“œ๋Š”
์ •์  ๋ฌธ์ž์—ด ํ…Œ์ด๋ธ” Tcl_GetIndexFromObj, ๊ณ„์•ฝ ์œ„๋ฐ˜,
ํ…Œ์ด๋ธ”์— ๊ณ ์ • ์ฃผ์†Œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ ์Šค๋งค์‹œ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์—ˆ๋‹ค
์ผ์–ด๋‚˜๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์‹  Brian Griffin์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1


[1] ์ƒˆ๋กœ์šด ์ƒ์œ„ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€ ํฌ๋ฆฌํ‹ฐ์ปฌ::iassoc.

์ด ํŒจํ‚ค์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์ฝ”๋“œ ์ƒ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
Tcl์„ ํ†ตํ•ด Tcl_(Get|Set)AssocData() ์•„ํ”ผ์Šค. ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ƒ์šฉ๊ตฌ C ์ฝ”๋“œ๋Š” ํŒจํ‚ค์ง€์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ด ํŒจํ‚ค์ง€๋Š” ์ฝ”์–ด์— ์ถ”๊ฐ€๋œ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ
ํŒจํ‚ค์ง€๋Š” ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

[2] ์ƒ์œ„ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค.

์ด ํŒจํ‚ค์ง€๋Š” ํด๋ž˜์Šค ๋ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ C ๋ ˆ๋ฒจ ๊ฐ์ฒด ์ƒ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋ช…๋ น. ์‚ฌ์šฉ์ž๋Š” ํด๋ž˜์Šค ๋ฐ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋กœ ํด๋ž˜์Šค ์ •์˜๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
-TclOO ํด๋ž˜์Šค์™€ ์œ ์‚ฌํ•œ ๋ฉ”์†Œ๋“œ, ํ•„์š”ํ•œ ๋ชจ๋“  ์ƒ์šฉ๊ตฌ C ์ฝ”๋“œ ํฌํ•จ
ํŒจํ‚ค์ง€์—์„œ ์ƒ์„ฑ๋œ ์ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŒจํ‚ค์ง€๋Š” ์ฝ”์–ด์— ์ถ”๊ฐ€๋œ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ
ํŒจํ‚ค์ง€๋Š” ์•„๋ž˜๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

[3] TEApot ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด API๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ฉ”ํƒ€? ์—
์ €์žฅ๋œ ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์˜ˆ์ƒ๋˜๋Š” ์ฃผ์š” ์šฉ๋„๋Š”
๊ตฌ์„ฑ๋œ ์ด๋ฆ„์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ช…๋ น์œผ๋กœ ํ˜„์žฌ ํŒจํ‚ค์ง€์˜ ์ด๋ฆ„. ์ด๊ฒƒ
ํŒจํ‚ค์ง€์˜ ์ •์  ์Šค์บ”์œผ๋กœ ์ธํ•ด ํŠน์ • ์ •๋ณด๋ฅผ ํ•ญ์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฒซ ๋ฒˆ์งธ critcl ๋ช…๋ น ์‹คํ–‰ ์‹œ ํŒŒ์ผ.

์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ํฌ๋ฆฌํ‹ฐ์ปฌ::iassoc ๊ณผ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค (์œ„ ์ฐธ์กฐ) ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค.
๋ช…๋ น.

[4] ๋ช…๋ น์œผ๋กœ API ํ™•์žฅ, ํฌ๋ฆฌํ‹ฐ์ปฌ::name2c, ๋ณ€ํ™˜ ๊ณผ์ • ๋…ธ์ถœ
Tcl ์ด๋ฆ„์„ ๊ธฐ๋ณธ ์ด๋ฆ„, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ฐ C ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋” ๋†’์€ ์ˆ˜์ค€์˜
๋™์ผํ•œ ์œ ํ˜•์˜ C ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ ํฌ๋ฆฌํ‹ฐ์ปฌ ์ž์ฒด.

์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค (์œ„ ์ฐธ์กฐ)๋Š” ์ด ๋ช…๋ น์˜ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค.

[5] ๋ช…๋ น์œผ๋กœ API ํ™•์žฅ, ํฌ๋ฆฌํ‹ฐ์ปฌ::์†Œ์Šค, critcl ๋ช…๋ น ์‹คํ–‰
ํ˜„์žฌ ํŒŒ์ผ์˜ ์ปจํ…์ŠคํŠธ์—์„œ ๋ณ„๋„์˜ ํŒŒ์ผ. ์ด๋ฅผ ํ†ตํ•ด ๋ณด๋‹ค ์‰ฝ๊ฒŒ โ€‹โ€‹๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ๋” ์‰ฝ๊ฒŒ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋” ํฐ ์ฝ”๋“œ ๋ณธ๋ฌธ
์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋” ์ž‘์€ ์ฒญํฌ๋ฅผ ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

[6] ์ด์ „ ํ•ญ๋ชฉ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ปฌ๋ ‰์…˜์„ ์ „ํ™˜ํ•˜๋Š” ๋ช…๋ น์œผ๋กœ API๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
์ƒ์„ฑ๋œ C ์ฝ”๋“œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹ค์Œ์— ๋Œ€ํ•œ ๋ช…๋ น์„ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ƒ์œ„ ์ˆ˜์ค€ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ์— ๋‚ด์žฅ๋œ C ์ฝ”๋“œ.

์„น์…˜ ์ฐธ์กฐ ๋งŽ์€: ๋‹ค์–‘์„ฑ ์ œ๊ณต๋œ ๋ช…๋ น์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€

์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค (์œ„ ์ฐธ์กฐ)๋Š” ์ด๋Ÿฌํ•œ ์‹œ์„ค์˜ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค.

[7] ๊ฐœ๋ฐœ์ž๊ฐ€ ์ ์ ˆํ•œ C๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช…๋ น์œผ๋กœ API๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
#์„  ์ง€์‹œ. ์ด๋ฅผ ํ†ตํ•ด ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์ƒ์„ฑํ•˜๊ณ  ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ์˜ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž์ฒด ์ง€์‹œ๋ฌธ
๊ท€์†.

์„น์…˜ ์ฐธ์กฐ ๋งŽ์€: ์žฅ์†Œ ๊ตฌ์ถ• ์ œ๊ณต๋œ ๋ช…๋ น์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€

์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ํฌ๋ฆฌํ‹ฐ์ปฌ::iassoc ๊ณผ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค (์œ„ ์ฐธ์กฐ)๋Š” ์ด๋“ค์˜ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค.
์‹œ์„ค.

[8] ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ง€์ • ์ธ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ช…๋ น์œผ๋กœ API๋ฅผ ํ™•์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ ๊ฒฐ๊ณผ ์œ ํ˜• ::ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc.

์„น์…˜ ์ฐธ์กฐ ๋งŽ์€: ํ™•์žฅ cproc ์ œ๊ณต๋œ ๋ช…๋ น์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.1


[1] ์ „๋ฐ˜์ ์ธ ๋ฒ„๊ทธ ์ˆ˜์ •. ์ƒ์„ธํžˆ:

[2]์— ๋Œ€ํ•œ wrong#args ์˜ค๋ฅ˜ ์ƒ์„ฑ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc ํŒŒ์ƒ ์ฝ”๋“œ
(ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค cproc ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•). ์ธ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด NULL์„ ์‚ฌ์šฉํ•˜๊ณ 
์˜คํ”„์…‹์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

[3] ๋‹ค์Œ์— ์˜ํ•ด ํŒจํ‚ค์ง€ ์ด๋ฆ„ ์ฒ˜๋ฆฌ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค. ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ์„ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.
๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ตฌ๋ถ„์ž. ๋ฒ„์ „ 1.0.1๋กœ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค.

[4] ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค ๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ์ƒ์„ฑ๋œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€.
๋ฒ„์ „ 1.0.2๋กœ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.2


[1] ํ–ฅ์ƒ. ์ƒ์„ธํžˆ:

[2] ํ™•์žฅ ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc ์„ ํƒ์  ์ธ์ˆ˜๋ฅผ ์ œํ•œ๋œ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Š” ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค cproc ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

[3] ๋ฒ„๊ทธ ์ˆ˜์ • ํ• ๋‹นํ•˜๋‹ค Tcl 8.4์šฉ ์—๋ฎฌ๋ ˆ์ด์…˜. ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜๋ฅผ
๋นˆ ๋ฌธ์ž์—ด. ์—๋ฎฌ๋ ˆ์ด์…˜ ํŒจํ‚ค์ง€์˜ ๋ฒ”ํ”„ ๋ฒ„์ „ lํ• ๋‹น84 1.0.1ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.3


[1] ํ–ฅ์ƒ. ์ƒ์„ธํžˆ:

[2] ์นด์šดํŠธ๋œ ๋ฌธ์ž์—ด์ธ "Pascal String"์— ๋Œ€ํ•œ ์ƒˆ ์ธ์ˆ˜ ์œ ํ˜• "pstring"์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด ํฌ์ธํ„ฐ์™€ ๋ฌธ์ž์—ด ๊ธธ์ด์˜ ์กฐํ•ฉ.

[3] ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ• ์ถ”๊ฐ€ critcl::argtype์ง€์› ๊ณผ ::critcl::์ธ์ˆ˜์ง€์› ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด
์ธ์ˆ˜ ์œ ํ˜•์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ง€์› ์ฝ”๋“œ, ์—ฌ๊ธฐ์„œ๋Š” ์œ„์˜ "pstring"์—์„œ ์‚ฌ์šฉํ•˜์—ฌ
ํ•„์š”ํ•œ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

[4] ํŒจํ‚ค์ง€์˜ ์„ธ๋ฏธ ๋ฒ„๊ทธ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค ๊ณผ ํฌ๋ฆฌํ‹ฐ์ปฌ::iassoc. AS์šฉ ํ”„๋ž˜๊ทธ๋งˆ
ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ์ด ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€๊ฐ€ ๋˜๋„๋ก ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์Šค์บ๋„ˆ.
๋ฒ„์ „์€ ๊ฐ๊ฐ 1.0.4 ๋ฐ 1.0.1๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.4


[1] ํŒจํ‚ค์ง€์˜ ๋ฒ„๊ทธ ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ํด๋ž˜์Šค ๊ตฌ์กฐ์— ๋”๋ฏธ ํ•„๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
ํด๋ž˜์Šค์—๋Š” ํด๋ž˜์Šค ๋ณ€์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ์ด ์—†์œผ๋ฉด ๊ตฌ์กฐ๊ฐ€ ๋น„์–ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋งŽ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ด๋Ÿฌํ•œ ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[2] win64 ๊ตฌ์„ฑ์„ ๊นจ๋œจ๋ฆฐ ์˜คํƒ€๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

[3] ๋ช…๋ น ๋ฌธ์„œ์˜ ์˜คํƒ€์ธ ๋ฌธ์ œ #16 ์ˆ˜์ • ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.5


[1] ๋ฌธ์ œ #19 ์ˆ˜์ •. MSVC ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
๋…์ผ์–ด ์‹œ์Šคํ…œ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€
๋‹ค๋ฅธ Windows ๋กœ์ผ€์ผ์— ๋Œ€ํ•ด ๋‚˜์ค‘์— ๋‹ค์‹œ ๋ฐฉ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค.

[2] ๋ฌธ์ œ #20 ์ˆ˜์ •. ์ ์–ด๋„ ์œ ๋‹‰์Šค ์—๋ฎฌ๋ ˆ์ด์…˜์—์„œ Windows์—์„œ ์˜ต์…˜ ์ฐจ ์ž‘์—…์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
msys/mingw์™€ ๊ฐ™์€ ํ™˜๊ฒฝ.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.6


[1] ๋ฌธ์ œ #21 ์ˆ˜์ •. ์Šคํ… ํ…Œ์ด๋ธ” ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ๋‹ค์ค‘ ์ •์˜๊ฐ€
์ง€๊ธˆ๊นŒ์ง€ ๋ณธ ๋ชจ๋“  C ๋ง์ปค์— ๋Œ€ํ•ด ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. C++ ๋ง์ปค๋Š” ์ด๊ฒƒ์„ ์ „ํ˜€ ์ข‹์•„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
์ด ๋ณ€์ˆ˜ ์ง‘ํ•ฉ์ด ํ•œ ๋ฒˆ๋งŒ ์ƒ์„ฑ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์žฌ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.
์กฐ๋ฆฝํ•  ๋ชจ๋“  ์กฐ๊ฐ์„ ๊ฐ์‹ธ๋Š” ํฌ์žฅ์ง€.

[2] ๊ณ ์ •๋œ ๋ฌธ์ œ #22, ์˜ ๋ช…๋ น ์‹๋ณ„์ž ์ธ์ˆ˜ ์ฒ˜๋ฆฌ
ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ช…๋ น, ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc๋ฐ ํฌ๋ฆฌํ‹ฐ์ปฌ::cdata. ์ด์ œ ๋ชจ๋“  Tcl์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
์‹๋ณ„์ž์—์„œ ์ ์ ˆํ•œ ๋‚ด๋ถ€ C ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์˜ ์ผ๋ถ€๋กœ ๋ช…๋ น์˜ ์„œ๋ช… ํฌ๋ฆฌํ‹ฐ์ปฌ::name2c ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ช…๋ น
XNUMX๊ฐœ๊ฐ€ ์•„๋‹Œ XNUMX๊ฐœ์˜ ๊ฐ’ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๊ฐ’์ด ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋.

ํŒจํ‚ค์ง€ ๊ตฌํ˜„์„ ์ถ”๊ฐ€๋กœ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํฌ๋ฆฌํ‹ฐ์ปฌ::ํด๋ž˜์Šค, ์‚ฌ์šฉ์ž
ํฌ๋ฆฌํ‹ฐ์ปฌ::name2c. ์ด ํŒจํ‚ค์ง€๋Š” ํ˜„์žฌ ๋ฒ„์ „ 1.0.6์ด๋ฉฐ critcl 3.1.6์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ž˜๋ชป๋œ ์˜ต์…˜ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. -c์ด๋ฆ„ in ํฌ๋ฆฌํ‹ฐ์ปฌ::๋ช…๋ น๋ฐ
ํฌ๋ฆฌํ‹ฐ์ปฌ::cproc.

[3] ๋ฌธ์ œ #23 ์ˆ˜์ •.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.7


[1] ๋ฌธ์ œ #24 ์ˆ˜์ •. ๋‹ค์Œ์—์„œ ๋ฐœ๊ฒฌ๋œ ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒฝ๊ณ ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๋ฌด์กฐ๊ฑด ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๋นŒ๋“œ ๋กœ๊ทธ. ๋นŒ๋“œ๋ฅผ ์œ ๋ฐœํ•˜์ง€ ์•Š๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฝ๊ณ ๋ฅผ ๋†“์น˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์‹คํŒจํ•ด๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[2] ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ. ์ถœ๋ ฅ ํ›„ํฌ. ๋ชจ๋“  ๋น„๋ฉ”์‹œ์ง• ์‚ฌ์šฉ์ž ์ถœ๋ ฅ์€ ์ด์ œ ๋‹ค์Œ์„ ํ†ตํ•ด ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.
๋ช…๋ น ํฌ๋ฆฌํ‹ฐ์ปฌ::์ธ์‡„, ์‚ฌ์šฉ์ž๋Š” critcl์„ ์‚ฌ์šฉํ•  ๋•Œ ์ด๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒจํ‚ค์ง€๋กœ์„œ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜.

[3] Ashok P. Nadkarni์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ. ํ”Œ๋žซํผ ๊ตฌ์„ฑ์€ ๋‹ค์Œ์—์„œ ๊ฐ’์„ ์ƒ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด์ „์— ์ •์˜๋œ ๊ตฌ์„ฑ.

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.8


[1] Tcl 8.4์šฉ์œผ๋กœ ์ƒ์„ฑ๋œ ํŒจํ‚ค์ง€ ์ƒ‰์ธ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น ๋ชฉ๋ก์— ์ฐธ์—ฌ
๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ์•„๋‹Œ ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ.

[2] ์ˆ˜์ •ํ•˜๋Š” ๋™์•ˆ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๊ฐ€์ ธ์˜จ ๋ฌธ์ œ #26์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฒ„๊ทธ #21(๋น„ํŒ 3.1.6 ์ฐธ์กฐ).

๋ณ€๊ฒฝ ์œ„ํ•œ ๋ฒ„์ „ 3.1.9


[1] ๋ฌธ์ œ #27 ์ˆ˜์ •. ๋‹ค์–‘ํ•œ ๋Œ€์ฒด Linux ๋ฐ
OS X ๋Œ€์ƒ.

[2] ๋ฌธ์ œ #28 ์ˆ˜์ •. linux-{32,64}-*์—์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ˆ„๋ฝ๋œ -mXX ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ชฉํ‘œ.

[3] ๋ฌธ์ œ #29 ์ˆ˜์ •. ์ฒ˜๋ฆฌ์—์„œ ์›์‹œ "cheaders" ์ •๋ณด์˜ ์‚ฌ์šฉ์„ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.
"cdefines"์—์„œ ํŒŒ์ƒ๋œ ์ ์ ˆํ•œ include ์ง€์‹œ๋ฌธ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

[4] Andrew Shadura๊ฐ€ ๊ฑฐ๋ถ€ํ•œ ํ’€ ์š”์ฒญ #30 ๋’ค์— ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์ ์œผ๋กœ
Tcl ํ—ค๋” ํŒŒ์ผ์—์„œ ์Šคํ… ๋ณ€์ˆ˜ ์„ ์–ธ์„ ์ถ”์ถœํ•˜๊ณ  ์ƒ์„ฑ
ํŒจํ‚ค์ง€ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ผ์น˜ํ•˜๋Š” ๋ณ€์ˆ˜ ์ •์˜. ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š”
์ด์ œ critcl์˜ ์ž์ฒด ๋ณต์‚ฌ๋ณธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ํ•ญ์ƒ ํ—ค๋”์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ ํ—ค๋”๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

[5] ๋ฌธ์ œ #31 ์ˆ˜์ •. Andrew Shadura๊ฐ€ ์Šน์ธํ•œ ํŒจ์น˜, ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์˜๊ฒฌ) ํฌํ•จ,
critcl์„ OS ํŒจํ‚ค์ง€ ์‹œ์Šคํ…œ๊ณผ ๋” ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•˜์—ฌ critcl์˜ ์‚ฌ๋ณธ์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.
์ž์ฒด Tcl ํ—ค๋”.

[6] ๋ฌธ์ œ #32 ์ˆ˜์ •. Andrew Shadura์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์˜คํƒ€
๋ฌธ์„œ ๋ฐ ์˜๊ฒฌ.

[7] ๋ฌธ์ œ #33 ์ˆ˜์ •. ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ์„ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ž‘๊ฐ€


์žฅ ํด๋กœ๋“œ ์œ„ํ”Œ๋Ÿฌ, ์Šคํ‹ฐ๋ธŒ ๋žœ๋”์Šค, ์•ˆ๋“œ๋ ˆ์•„์Šค ์ฟ ํ”„๋ฆฌ์Šค

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ critcl ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

  • 1
    ํŽ˜์ด์ €
    ํŽ˜์ด์ €
    Phaser๋Š” ๋น ๋ฅด๊ณ  ๋ฌด๋ฃŒ์ด๋ฉฐ ์žฌ๋ฏธ์žˆ๋Š” ๊ณต๊ฐœ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
    ์ œ๊ณตํ•˜๋Š” ์†Œ์Šค HTML5 ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ
    WebGL ๋ฐ ์บ”๋ฒ„์Šค ๋ Œ๋”๋ง
    ๋ฐ์Šคํฌํ†ฑ ๋ฐ ๋ชจ๋ฐ”์ผ ์›น ๋ธŒ๋ผ์šฐ์ €. ๊ณ„๋žต
    ๊ณต๋™ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...
    ํŽ˜์ด์ € ๋‹ค์šด๋กœ๋“œ
  • 2
    ๋ฐ”์‚ด ์—”์ง„
    ๋ฐ”์‚ด ์—”์ง„
    VASSAL์€ ์ œ์ž‘์„ ์œ„ํ•œ ๊ฒŒ์ž„ ์—”์ง„์ž…๋‹ˆ๋‹ค.
    ๊ธฐ์กด ๋ณด๋“œ์˜ ์ „์ž ๋ฒ„์ „
    ๊ทธ๋ฆฌ๊ณ  ์นด๋“œ ๊ฒŒ์ž„. ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    ๊ฒŒ์ž„ ์กฐ๊ฐ ๋ Œ๋”๋ง ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ,
    ๊ทธ๋ฆฌ๊ณ  ...
    VASSAL ์—”์ง„ ๋‹ค์šด๋กœ๋“œ
  • 3
    OpenPDF - iText์˜ ํฌํฌ
    OpenPDF - iText์˜ ํฌํฌ
    OpenPDF๋Š” ๋‹ค์Œ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ๋ฐ LGPL๋กœ PDF ํŒŒ์ผ ํŽธ์ง‘ ๋ฐ
    MPL ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค. OpenPDF๋Š”
    iText์˜ LGPL/MPL ์˜คํ”ˆ ์†Œ์Šค ํ›„๊ณ„์ž,
    ์—์ด...
    OpenPDF ๋‹ค์šด๋กœ๋“œ - iText ํฌํฌ
  • 4
    ์‚ฌ๊ฐ€ GIS
    ์‚ฌ๊ฐ€ GIS
    SAGA - ์ž๋™ํ™” ์‹œ์Šคํ…œ
    Geoscientific ๋ถ„์„ - ์ง€๋ฆฌ์ ์ž…๋‹ˆ๋‹ค
    ์ •๋ณด ์‹œ์Šคํ…œ(GIS) ์†Œํ”„ํŠธ์›จ์–ด
    ์ง€๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ์—„์ฒญ๋‚œ ๊ธฐ๋Šฅ
    ์ฒ˜๋ฆฌ ๋ฐ ์•„๋‚˜...
    ์‚ฌ๊ฐ€ GIS ๋‹ค์šด๋กœ๋“œ
  • 5
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž
    IBM Toolbox for Java / JTOpen์€
    ์ง€์›ํ•˜๋Š” Java ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๋ฐ ์ธํ„ฐ๋„ท ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    OS/400์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์— ๋ชจ๋ธ,
    i5/OS, ์˜ค...
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž ๋‹ค์šด๋กœ๋“œ
  • 6
    D3.js
    D3.js
    D3.js(๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฌธ์„œ์˜ ๊ฒฝ์šฐ D3)
    ํ•  ์ˆ˜ ์žˆ๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ๋™์ , ๋Œ€ํ™”ํ˜• ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
    ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์‹œ๊ฐํ™”. D3์™€ ํ•จ๊ป˜
    ๋‹น์‹ ...
    D3.js ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป

Linux ๋ช…๋ น

Ad