Wayland ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ swc ๋ณตํฉ ์๋ฒ ๊ฐ๋ฐ์์ธ Michael Forney๋ C11 ํ์ค๊ณผ ์ผ๋ถ GNU ํ์ฅ์ ์ง์ํ๋ ์๋ก์ด cproc ์ปดํ์ผ๋ฌ๋ฅผ ๊ฐ๋ฐ ์ค์ ๋๋ค. ์ต์ ํ๋ ์คํ ํ์ผ์ ์์ฑํ๊ธฐ ์ํด ์ปดํ์ผ๋ฌ๋ QBE ํ๋ก์ ํธ๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํฉ๋๋ค. ์ปดํ์ผ๋ฌ ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ ๋ฌด๋ฃ ISC ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
๊ฐ๋ฐ์ ์์ง ์๋ฃ๋์ง ์์์ง๋ง ํ์ฌ ๋จ๊ณ์์๋ ๋๋ถ๋ถ์ C11 ์ฌ์์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. ํ์ฌ ์ง์๋์ง ์๋ ๊ธฐ๋ฅ์ผ๋ก๋ ๊ฐ๋ณ ๊ธธ์ด ๋ฐฐ์ด, ์ ์ฒ๋ฆฌ๊ธฐ, PIE(์์น ๋ ๋ฆฝ์ ์ฝ๋) ์คํ ํ์ผ ์์ฑ ๋ฐ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ธ๋ผ์ธ ์ด์ ๋ธ๋ฌ, "long double" ์ ํ, _Thread_local ์ง์ ์, ํ๋ฐ์ฑ ์ ํ, ์ ๋์ฌ๊ฐ ์๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๋ฑ์ด ์์ต๋๋ค. (์"...").
๋์์ cproc์ ๊ธฐ๋ฅ์ ์ด๋ฏธ ์์ฒด์ ์ผ๋ก mcpp, gcc 4.7, binutils ๋ฐ ๊ธฐํ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ๋ฐ ์ถฉ๋ถํฉ๋๋ค. ๋ค๋ฅธ ์ปดํ์ผ๋ฌ์์ ์ฃผ์ ์ฐจ์ด์ ์ ์ปดํฉํธํ๊ณ ๋ณต์กํ์ง ์์ ๊ตฌํ์ ๋ง๋๋ ๋ฐ ์ค์ ์ ๋๋ค๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ ๊ธ ์ปดํ์ผ๋ฌ ์ฑ๋ฅ์ 70%๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ง๋ง ์ ์๋ ๊ธฐ๋ฅ์ ๋ํ ์ปดํ์ผ๋ฌ์ 10% ์ด๋ด์
๋๋ค. Glibc, bsd libc ๋ฐ Musl ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ Linux ๋ฐ FreeBSD ํ๋ซํผ์์ x86_64 ๋ฐ aarch64 ์ํคํ
์ฒ์ฉ ๋น๋๋ฅผ ์ง์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru