๋…๋ฆฝํ˜• ๋ฐฐํฌ ๊ตฌ์ถ•์„ ์œ„ํ•œ ํˆดํ‚ท์ธ GNU Mes 0.23 ์ถœ์‹œ

0.23๋…„์˜ ๊ฐœ๋ฐœ ๋์— GNU Mes XNUMX ํˆดํ‚ท์ด ์ถœ์‹œ๋˜์–ด GCC์šฉ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์†Œ์Šค ์ฝ”๋“œ์—์„œ ํ์‡„์ ์ธ ์žฌ๊ตฌ์ถ• ์ฃผ๊ธฐ๋ฅผ ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํˆดํ‚ท์€ ๋ฐฐํฌํŒ์—์„œ ๊ฒ€์ฆ๋œ ์ดˆ๊ธฐ ์ปดํŒŒ์ผ๋Ÿฌ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์ˆœํ™˜์  ์žฌ๊ตฌ์ถ• ์ฒด์ธ์„ ๋Š์Šต๋‹ˆ๋‹ค(์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ์ด๋ฏธ ๋นŒ๋“œ๋œ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์‹คํ–‰ ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋ฉฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ปดํŒŒ์ผ๋Ÿฌ ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ์ˆจ๊ฒจ์ง„ ๋ถ๋งˆํฌ์˜ ์ž ์žฌ์  ์†Œ์Šค์ด๋ฏ€๋กœ ์™„์ „ํžˆ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค). ์ฐธ์กฐ ์†Œ์Šค ์ฝ”๋“œ์˜ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ฌด๊ฒฐ์„ฑ).

GNU Mes๋Š” C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ Scheme ์–ธ์–ด์šฉ ์ž์ฒด ํ˜ธ์ŠคํŒ… ์ธํ„ฐํ”„๋ฆฌํ„ฐ์™€ Scheme ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ C ์–ธ์–ด์šฉ ๊ฐ„๋‹จํ•œ ์ปดํŒŒ์ผ๋Ÿฌ(MesCC)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ตฌ์„ฑ ์š”์†Œ ๋ชจ๋‘ ์ƒํ˜ธ ์กฐ๋ฆฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Scheme ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด MesCC C ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ด๋ฏธ GCC๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ TinyCC ์ปดํŒŒ์ผ๋Ÿฌ(tcc)์˜ ๊ฐ„๋‹จํ•œ ๋ฒ„์ „์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Scheme ์–ธ์–ด ํ•ด์„๊ธฐ๋Š” ๋งค์šฐ ์ปดํŒฉํŠธํ•˜๋ฉฐ C ์–ธ์–ด์˜ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•˜์œ„ ์ง‘ํ•ฉ์—์„œ ์•ฝ 5000์ค„์˜ ์ฝ”๋“œ๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ M2-Planet ๋ฒ”์šฉ ๋ฒˆ์—ญ๊ธฐ ๋˜๋Š” ์ž์ฒด ์กฐ๋ฆฝ๋œ hex0์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๋ฆฝ๋œ ๊ฐ„๋‹จํ•œ C ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์ข…์†์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์–ด์…ˆ๋ธ”๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— ์ธํ„ฐํ”„๋ฆฌํ„ฐ์—๋Š” ๋ณธ๊ฒฉ์ ์ธ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ARM ์•„ํ‚คํ…์ฒ˜(armhf-linux ๋ฐ aarch-linux)์— ๋Œ€ํ•œ ์ง€์›์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. GNU Guix ํ”„๋กœ์ ํŠธ(GNU Guix Reduced Binary Seed)์˜ ์ถ•์†Œ๋œ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํŒŒ์ผ ์„ธํŠธ์™€ ํ•จ๊ป˜ Mes๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GCC 10.x๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Mes ๋ฐ Mes C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์ถ•์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. MesCC ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด์ œ ์ž์ฒด libmescc.a ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(-lmescc)๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, GCC๋กœ ๋นŒ๋“œํ•  ๋•Œ ์ด์ œ "-lgcc"๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. Guile 3.0.x๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MesCC ๊ตฌ์ถ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€