WinCore ํ๋ก์ ํธ๋ Win32/WGL๊ณผ์ ํธํ์ฑ ๊ณ์ธต์ ๊ฐ๋ฐํ์ฌ ์ฝ๋ ์ปดํ์ผ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. Windows-๊ธฐ์กด Win32 API๋ฅผ ์ฌ์ฉํ์ฌ C/C++๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค. Linux ะธ macOSWinCore๋ ๊ธฐ์กด Win32 ํธ๋ค๋ฌ๋ฅผ ๊ฐ๋ก์ฑ๊ณ SDL3 ๋๋ SDL2๋ฅผ ํตํด ํฌ๋ก์ค ํ๋ซํผ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋๋งํฉ๋๋ค. ์ด ์ฝ๋๋ C++๋ก ์์ฑ๋์์ผ๋ฉฐ LGPLv3 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋์ผํ ์ ์๊ฐ LDL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ๊ฒํ ํ ๊ฒฐ๊ณผ๋ฌผ๋ก, ์๋ก์ด API๋ฅผ ์ค๊ณํ๋ ๋์ ์ค๋ ์๊ฐ ๊ฒ์ฆ๋ Win32 ์ ์ฐจ์ API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ด์ ์ฒด์ ์ ์ฅ์น์์ ์ฌ์ฉํ ์ ์๋๋ก ์ด์์ฑ์ ๋์ด๋ ๊ฒ์ด ๋ ๋ ผ๋ฆฌ์ ์ด๋ผ๋ ๊ฒฐ๋ก ์ ๋๋ฌํ์ต๋๋ค. ์ฆ, ์ฝ๋๋ Win32 ๊ท์น์ ๋ฐ๋ผ ์์ฑ๋์ง๋ง ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผ๋๊ณ ์คํ๋ฉ๋๋ค. Windows, Linux ะธ macOS.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด์์ฑ์ ๊ทน๋ํํ๊ธฐ ์ํด ์๊ฒฉํ C++98 ์ธ์ด๋ก ์์ฑ๋์์ง๋ง, ํ์ ํธํ์ฑ์ ๋ณด์ฅํ๊ณ C FFI๋ฅผ ํตํด Rust, Zig, Python ๋ฐ ๊ธฐํ ์ธ์ด์์ ์์ฌ์ด ๋ฐ์ธ๋ฉ์ ์ํด ์์ C89 ํค๋ ํ์ผ์ ๋ด๋ณด๋ ๋๋ค. ํ์ฌ SDL2์ SDL3 ๋ ๊ฐ์ง ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ํฅํ XLib ๋ฐ Wayland ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํ ๊ณํ์ ๋๋ค.
์ ์๋ ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ๋ชจ๋ฐฉํ๋ ค๋ ๋ชฉํ๋ฅผ ์ธ์ฐ์ง ์์ต๋๋ค. Windows ์ด ํ๋ก์ ํธ๋ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ ์์ง ํ์ ์์คํ ์๋ง ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. ํ์ฌ 5๊ฐ์ Kernel32.dll ํจ์(๋ชจ๋ ๊ด๋ฆฌ, ์์คํ ์๊ฐ ๋ฐ ์ง์ฐ ์๊ฐ), 25๊ฐ์ User32.dll ํจ์(์ฐฝ ์์ฑ, ๋ฉ์์ง ๋ฃจํ, ์ปค์ ์์น ๋ฐ ์ ๋ ฅ ์ฒ๋ฆฌ), 5๊ฐ์ Gdi32.dll ํจ์(ํฝ์ ํ์ ์ ํ, ๋นํธ๋งต ์ถ๋ ฅ ๋ฐ ๋ฒํผ ์ ํ) ๋ฐ 4๊ฐ์ Opengl32.dll ํจ์(WGL ์ปจํ ์คํธ ์์ฑ, ์ญ์ ๋ฐ ํ์ฑํ)๊ฐ ๊ตฌํ๋์ด ์์ต๋๋ค.


์ถ์ฒ : opennet.ru
