์ด๊ฒ์ 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 ์ฌ์ฉ