์์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Nim 2.2.8 ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. Nim์ ํ์ด์ฌ์์ ์๊ฐ์ ๋ฐ์ ๊ตฌ๋ฌธ๊ณผ Lisp์ ์ ์ฌํ ๋ฉํํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ์ ํ์ ์ปดํ์ผ ์ธ์ด์ ๋๋ค. C, C++, JavaScript๋ก ์ปดํ์ผ๋์ด C ์์ค์ ์ฑ๋ฅ๊ณผ ๊ณ ๊ธ ์ธ์ด์ ํํ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๋ก์ ํธ์ ์ฝ๋๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
Nim์ ํน์ง์ผ๋ก๋ ์ปดํ์ผ ์๊ฐ์ AST(์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ)๋ฅผ ์กฐ์ํ๋ ๋งคํฌ๋ก ์์คํ , ๊ฐ๋ ์ ํ์ฉํ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ์ง์, ๋ค์ค ๋์คํจ์น, ๋ค์ํ ์ ๋ต(ARC/ORC, refc, ๋งํฌ์ค์ค์)์ ์ง์ํ๋ ๊ฒฐ์ ๋ก ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ๋ด์ฅ async/await ์ง์, ๊ทธ๋ฆฌ๊ณ C/C++/JavaScript์์ ์์ฌ์ด ํตํฉ์ ์ํ FFI(Full File Inclusion) ๋ฑ์ด ์์ต๋๋ค. Nim์ ์๋ฒ ๋๋ ์์คํ ๋ถํฐ ์น ๊ฐ๋ฐ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์์คํ ๊ฐ๋ฐ์ ์ ํฉํ ์ธ์ด๋ก ์๋ฆฌ๋งค๊นํ๊ณ ์์ต๋๋ค.์๋ฒํจ์จ์ฑ, ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ ๋ฐ ๊ฐ๋ฐ์ ํธ์์ฑ์ ์ค์ ์ ์ผ๋ก ๊ณ ๋ คํ์ต๋๋ค.
2.2.8 ๋ฒ์ ์ 2.2.6 ๋ฒ์ ์ถ์ ํ 4๊ฐ์ ๋ง์ ๋์์ผ๋ฉฐ, ๋ฒ๊ทธ ์์ ๋ฐ ๊ฐ์ ์ฌํญ์ ํฌํจํ 89๊ฐ์ ์ปค๋ฐ์ด ์์ต๋๋ค. ์ด๋ฒ ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๊ฐ์ ์ฌํญ์ ๋ฉํฐ์ค๋ ๋ฉ์ ํ๋ฐํ๊ฒ ์ฌ์ฉํ ๋ ๊ธฐ๋ณธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์์ ์์ ์ฑ์ด ํฌ๊ฒ ํฅ์๋ ๊ฒ์ ๋๋ค. ๊ฐ๋ฐ์์ ๋ฐ๋ฅด๋ฉด, ์ด์ ๋ฉํฐ์ค๋ ๋ ์ฝ๋์์ "-d:useMalloc" ์ต์ ์ ์ฌ์ฉํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ ์ฌ๋ผ์ก์ต๋๋ค. ์ฌ์ฉ์ ์ฌ๋ฌ๋ถ์ ํผ๋๋ฐฑ์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
์์ ๋ ๋ฒ๊ทธ ์ค:
- ์์ ํ ์ด๋ธ์ ์ํํ ๋ ์์ ๊ฐ์ฒด๊ฐ ์กฐ๊ธฐ์ ์๋ฉธ๋์ด SIGBUS ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ํํ ๋ฐ๋ณต์๊ฐ ์๋ SIGSEGV ์ค๋ฅ;
- ๋ฉ์๋ ๋ด๋ถ์์ .global์ ์ด๊ธฐํํ ๋ C ์ฝ๋๊ฐ ์๋ชป ์์ฑ๋ฉ๋๋ค.
- try..except๋ฅผ ์ฌ์ฉํ์ฌ ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ซ๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
- --debuginfo ์ต์ ์ ์ฌ์ฉํ ๋ C++ ์คํ์ผ์ ์ด๋ฆ ๋ณํ์ด ์๋ชป๋์์ต๋๋ค.
- setLen ํจ์๋ ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ก ์ธํด ์ํ์ค ํฌ๊ธฐ๋ฅผ ์ค์ผ ๋ ์๋๊ฐ ๋๋ฆฝ๋๋ค.
- "โmm:refc" ๋ชจ๋์ ๋ํ setLenUninit ํจ์๊ฐ ์์ต๋๋ค.
- ๋์ฉ๋ ํ์ผ์์ ์ฉ์ด ์ฌ์์ฑ ์ฒ๋ฆฌ๊ฐ ๋ฉ์ถฅ๋๋ค.
- ์ฐธ์กฐ ๋ชจ๋์์ ํ ๊ฐ์ฒด์ ํ ๋นํ ๋ ์๋ก ๋ค๋ฅธ ์ ํ์ ์ฌ์ฉํ๋ฉด SIGSEGV ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ARC/ORC/ATOMICARC ํ๊ฒฝ์์ ์ ๋ค๋ฆญ ๊ณ ์ ์ ํ์ ๋ํ ํํฌ์์ m_type์ ๋ํ ์ ๊ทผ์ด ์๋ชป๋์์ต๋๋ค.
- concept์์ "items"๊ฐ ํฌํจ๋ ํํ์ ์ ๋ฌํ ๋ ์ปดํ์ผ๋ฌ๊ฐ ์ถฉ๋ํฉ๋๋ค.
- ์ฌ๊ท์ ๊ฐ๋ ์ผ๋ก ์ธํด ์ปดํ์ผ๋ฌ ์ธ๊ทธ๋ฉํ ์ด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
- httpclient์์ HTTP ํ๋ก์๋ฅผ ํตํด HTTPS ์์ฒญ์ด ์๋ชป ์์ฑ๋จ;
- shl ์์ ์์ ์ ์๋์ง ์์ ๋์์ด ๋ฐ์ํฉ๋๋ค.
- ๊ธด ์ ์ ๋ฆฌํฐ๋ด์ ๊ฒฝ๊ณ ์์ด ์๋ผ๋ ๋๋ค.
- ์ปดํ์ผ๋ฌ๊ฐ ์๋ชป๋ ์ ๋ค๋ฆญ ์ธ์คํด์คํ๋ก ์ธํด ์ถฉ๋ํฉ๋๋ค.
- ์ถ๊ฐ๋ ๋ชจ๋ โstyleCheck:warn.
์ถ์ฒ : opennet.ru
