Windows API๋ก ์์ํด๋ณด๋ ์์ผ ํ๋ก๊ทธ๋๋ฐ
์์ง ์์ผ์ ๋ํ ๊ฐ๋ ์ ๋ชจ๋ฅด์๊ฒ ๋ค๊ตฌ์?
์๋์ ๋ฒํผ์ ํด๋ฆญํ์ฌ Socket ํฌ์คํธ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์ด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.์๋ ํ์ธ์. ์ฌ๊ธฐ๋ Windows ๊ฐ๋ฐ์๋ฅผ ์ํ ์์ผ ํ๋ก๊ทธ๋๋ฐ ํ์ด์ง์ ๋๋ค. ์ Socket์ ๊ฐ๋ ํฌ์คํธ์ ๋๋ถ์ด, Windows API๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Windows API์ ๋ํ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ๊ฐ์ด ์ ํํ๊ฒ ์ดํดํ์ จ๋ค๊ณ ํ๋จํ๊ณ , ๊ธ์ ์จ ๋๊ฐ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
WinSock2
Windows Socket์ BSD Unix ํธํ์ ์ํด ๊ทธ ๊ฐ๋
์ ๊ต์ฅํ ๋น์ทํ์ง๋ง, Windows ์ด์์ฒด์ ์ ๋ง์ถฐ์๊ธฐ ๋๋ฌธ์, ๋ช ๊ฐ์ง ๋ค๋ฅธ ๋ถ๋ถ์ด ์์ต๋๋ค. ๋, ์์ผ์ ํน์ฑ์ ์ปค๋์ ์์ฒญํ์ฌ ์์ฑํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์, ํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ ์ ๋์ค์ ๋ฌ๋ฆฌ Windows ์์๋ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ์กฐ๊ธ ๊น๋ค๋ก์ธ ์๋ ์์ต๋๋ค.
์ ๋์ค์์ ์์ผ์ ํ์ผ๋ก ๋ค๋ฃจ๊ณ , ๊ทธ์ ๊ดํ ํจ์๋ signed int ํ์ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ์ด์ฉํด์ ํ์ผ์ ์ ์ดํฉ๋๋ค. ํ์ง๋ง ์๋์ฐ๋ ์ ๋์ค์ ๋ฌ๋ฆฌ ํ์ผ์ด ์๋ ์ ๊ฐ ์ ์ Windows API ๊ธฐ๋ณธ ๋ฌธ์์๋ ์ ํ์๋ฏ์ด Kernel Object, ์ฆ ์ปค๋ ๊ฐ์ฒด๋ก ์ธ์ํฉ๋๋ค. ์ด๋ค ๊ฐ์ฒด๋ ์ ๋์ค์ฒ๋ผ signed int ํํ์ ํ์ผ ๋์คํฌ๋ฆฝํฐ๊ฐ ์๋, HANDLE์ ์ด์ฉํด ์ ์ดํ๋ค๋ ์ ์ ์๊ณ ๊ณ์ ์ผ ํฉ๋๋ค.
ํ์ง๋ง WinSock2๋ BSD Unix Socket์ด signed int ํํ๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๊ณ ์(ํธํ์ ์ํด) unsigned int ํํ์ ์ฌ์ ์ํ ์์ผ ๋์คํฌ๋ฆฝํฐ๋ก ์์ผ์ ๋ค๋ฃน๋๋ค. ๊ฒฐ๋ก ์ Unix Socket๊ณผ๋ ๋ง์ด ์ฐจ์ด๊ฐ ์๋ค๋ ๊ฒ์ด์ง์. ๊ฒฐ๊ตญ ๋ค๋ฅธ Kernel Object์ ๋ฌ๋ฆฌ Socket์ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ์ธ์ํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, Unix์์ ์ด์์ฑ์ ๊ณ ๋ คํด signed int๋ฅผ ์จ๋ ๋ฌด๋ฐฉํ๋ค๋ ์๊ธฐ๊ฒ ์ง์? ๋ฌผ๋ก ๊ทธ๋ ์ง๋ง, Visual C++ ์ปดํ์ผ๋ฌ์์๋ ์ผ๋ถ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์๋ค๋ ์ ์ ์ฐธ๊ณ ํ์๊ณ ์ฝ๋ฉํ์๋ฉด ๋๊ฒ ์ต๋๋ค ^^;
์ ์ด๋ฏธ์ง๋ ์ค์ Visual Studio์์ SOCKET ์ง์ ์๊ฐ ๋ํ๋ด๋ ์๋ฃํ์ ๋ํ๋ธ ๊ฒ์ ๋๋ค. ์ค์ ๋ก unsigned int ํํ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ฝ๋ฉ์ ํด ๋ณธ ๊ฒฐ๊ณผ, signed int ํํ๋ฅผ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค๋ ์ ์ ์ ์ ์์์ต๋๋ค.
WinSock ์์ฑ ์ค๋น
Windows Socket๋ ์ ๋์ค ์์ผ๊ณผ ๊ฐ์ด ํ์ํ ์์๊ฐ ๋๊ฐ์ต๋๋ค. ๊ฐ ํธ์คํธ์๋ ํธ์คํธ๋ฅผ ๊ตฌ๋ณํ๋ ์๋ณ์์ธ IP ์ฃผ์๊ฐ ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ํ ํธ์คํธ์๋ ์ฌ๋ฌ ๋คํธ์ํฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ ์ ์์ฃ . ๊ทธ๋ผ ํ ํธ์คํธ์์ ์ฌ๋ฌ ๋คํธ์ํฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ๋ํ๊ธฐ ์ํด์๋ ๊ฐ ํ๋ก๊ทธ๋จ์ ์๋ณ์ ๋ํ ํ์ํฉ๋๋ค. ๋ก์ปฌ์์๋ ์ด๋ฅผ PID(ํ๋ก์ธ์ค ์๋ณ์ID)๊ฐ ์กด์ฌํ์ง๋ง, ๋คํธ์ํฌ์์๋ ์ด๋ฅผ PID๋ก ๊ตฌ๋ถํ์ง ์๊ณ , ํฌํธ ๋ฒํธ๋ก ๊ตฌ๋ถํฉ๋๋ค.
ํฌํธ๋ฒํธ๋ TCP/UDP ํจํท์ 16bit ํํ๋ก ๊ฐ์ด ์ ์ฅ๋์ด ์ ์กํ๊ฒ ๋ฉ๋๋ค. 1 ~ 65535๋ฒ ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , TCP์ UDP๊ฐ ๊ฐ๊ฐ ๊ฐ์ ๋ฒํธ๋ก ๋์ํ ์๋ ์์ต๋๋ค. ์ด ์๊ธฐ๋ ํ ์์ฉ ํ๋ก๊ทธ๋จ์์ TCP์ UDP๋ฅผ ๋์์ ์ฌ์ฉํ ์ ์๋ค๋ ์ด์ผ๊ธฐ์ง์.
์ ๊ทธ๋ผ ์ด์ ์์ผ์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ๊ฒ์ ์ ์ฒด์ ์ผ๋ก ๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํต์ ์ ์ฌ์ฉํ ํ๋กํ ์ฝ (TCP, UDP)
- ํด๋ผ์ด์ธํธ IP ์ฃผ์
- ํด๋ผ์ด์ธํธ ํฌํธ ๋ฒํธ
- ์๋ฒ IP ์ฃผ์
- ์๋ฒ ํฌํธ ๋ฒํธ
์ ๋์ค ์์ผ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ค์ ํ๋ก๊ทธ๋๋ฐ ํ ๋๋ ํด๋ผ์ด์ธํธ IP ์ฃผ์์ ํฌํธ ๋ฒํธ๋ ์ฝ๋์ ์ ์ง ์์ต๋๋ค. ์ด๋ ์ด์์ฒด์ ์์ ์ง์ ํฌํธ ์ฃผ์๋ฅผ ํ ๋นํ๊ณ , IP ์ฃผ์๋ฅผ ํ ๋นํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ์ ๋์ค์ ์๋์ฐ ๋ชจ๋ ๋๊ฐ์ด ์ ์ฉ๋๋ ์ฌํญ์ ๋๋ค.
WinSock ์์ฑ
์ด์ ์์ผ์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ์ค๋น๋ฌผ์ ๋ชจ๋ ๊ฐ์ถฐ์ก์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์์ผ์ ์ด๋ป๊ฒ ๋ง๋๋์ง๋ง ์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ผ ์ด์ ์์ํด๋ณด๊ฒ ์ต๋๋ค.
๋คํธ์ํฌ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ค๋ฉด, ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ ํด์ผ ํฉ๋๋ค. ํ๋๋ ์๋ฒ ํ๋ก๊ทธ๋จ, ๋ ํ๋๋ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๋์ด ์๋ก ํต์ ์ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ ํ๋ก๊ทธ๋จ ๋ชจ๋ ์์ผ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋, Windows Socket์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ด๊ธฐ์ winsock.dll ์ด๋ผ๋ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์์ผ ํฉ๋๋ค. ๋ ๋ ์ด์ Windows Socket์ ์ฌ์ฉํ์ง ์๊ณ , ์๋ฉธํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, ๋จ์ํ Socket์ closeํ ๋ฟ ์๋๋ผ, Windows Socket Library๋ฅผ Cleanup ํด์ฃผ๋ ์์ ๊น์ง ๋ชจ๋ ํด์ค์ผ ํฉ๋๋ค.
๋จผ์ Visual Studio๋ฅผ ์ด๊ณ , ํ๋ก์ ํธ ์์ฑ์ ๋ค์ด๊ฐ๋๋ค.
๋ง์ปค๋ก ๋ค์ด๊ฐ์๊ฒ ๋๋ฉด, ์ ๋ ฅ ๋ฉ๋ด๊ฐ ๋ณด์ด์ญ๋๋ค. ์ ๋ ฅ ๋ฉ๋ด์๋ ์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ฉ๋ด๊ฐ ๋งจ ์ฒซ ๋ถ๋ถ์ ์์ต๋๋ค. ์ด ๋ถ๋ถ์ ์์ ํ ๊ฒ์ ๋๋ค.
ws2_sock.lib ํ์ผ์ ์ถ๊ฐํด์ค๋๋ค.
์ ์ด์ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
argument๋ ์ด 3๊ฐ๋ฅผ ๋ด์๊ณ , WSAStartup ํจ์๋ฅผ ์ด์ฉํ์ฌ ws2_sock.lib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ ํ ์ ์์ต๋๋ค. Unix Socket์์๋ ์ด๋ฐ ์์
๊ณผ์ ์ด ํ์์์ง๋ง, Windows ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํด์, ์ ํจ์๋ฅผ ๋๋ฐ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ง์ฝ, ๋ฉํฐ๋ฐ์ดํธ(ASCII) ์ฝ๋๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, cstdio ํค๋ ํ์ผ์ include ํ์ ์ผ ํฉ๋๋ค.
Windows Socket์ ์์ฑํ ๋๋, Unix Socket๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก socket() ํจ์๋ฅผ ์ฌ์ฉํด ์์ฑํ ์ ์์ต๋๋ค. WinSock2.h ํค๋ ํ์ผ๋ง includeํ๋ฉด ๋ฉ๋๋ค.
์ฒซ ์ธ์์ธ PF_INET์ ์๋น์ค ํ์ ์ ๋๋ค. ์ด๋ ํ๋กํ ์ฝ ์ฒด๊ณ๋ก ์ธํฐ๋ท์ ์ฌ์ฉํ๊ฒ ๋ค๋ ์ด์ผ๊ธฐ์ด๋ฉฐ ๋ณดํต IPv4 ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ ๋ ์ฌ์ฉํฉ๋๋ค. IPv6๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ ๊ฒฝ์ฐ, PF_INET6 ๋งคํฌ๋ก ์์๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
๋, ์ ๋์ค ์์ผ์์๋ ๋ง์ง๋ง ์ธ์๊ฐ ๋ ๋ฒ์งธ ์ธ์๊ฐ์ ๋ฐ๋ผ SOCK_STREAM ๋งคํฌ๋ก ์์์ด๋ฉด, 0์ ์จ๋ ๋ฌด๊ดํ์ง๋ง Windows Socket์์๋ IPPROTO_TCP ๋งคํฌ๋ก ์์๋ฅผ ๋ณ๋๋ก ๋งค๊ฐ๋ณ์์ ๋ฃ์ด์ฃผ์ ์ผ ํฉ๋๋ค.
sockaddr_in ๊ตฌ์กฐ์ฒด๋ 3๊ฐ์ ๋ฉค๋ฒ ๋ณ์๊ฐ ์กด์ฌํฉ๋๋ค. sin_family๋ ์ฐ๋ฆฌ๊ฐ ์์์ ๋ง๋ ์์ผ์ ๋ํ ์ฃผ์ ์ฒด๊ณ์ ๋๋ค. ๋๋จธ์ง๋ ํฌํธ๋ฒํธ์ IP ์ฃผ์์ธ๋ฐ, ์ฌ๊ธฐ์ ์ ๋ IP ์ฃผ์๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์๊ณ , ์ด์์ฒด์ ์์ ์ฃผ์ด์ง IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด INADDR_ANY๋ผ ํ๋ ๋ฏธ๋ฆฌ ์ ์๋ ๋งคํฌ๋ก ์์๋ฅผ ์ฌ์ฉํ์์ต๋๋ค
์ด๋ฐ ํธํ์ฑ๊ณผ ๋๊ฐ์ด ์๋์ฐ ์์ผ๋ ํต์ ์ ์ฐจ๋ ์ ๋์ค ์์ผ๊ณผ 100% ๋๊ฐ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ socket() ํจ์๋ฅผ ์ฌ์ฉํด ์์ผ ํจ์ ์์ฑ๊น์ง๋ ๋ง์ณค์ผ๋ ๊ทธ ๋ค์ ๊ณผ์ ์ผ๋ก ์งํํ๋ฉด ๋คํธ์ํฌ ํ๋ก๊ทธ๋จ ์ค ์๋ฒ ํ๋ก๊ทธ๋จ์ด ์์ฑ๋ฉ๋๋ค. Let's Coding !
์์ผ๋ฒํธ์ ์์ผ์ฃผ์๋ฅผ ๋ฌถ์ด๋๊ธฐ ์ํด, ์์ผ๋ฒํธ๋ฅผ ์ฒซ ๋ฒ์จฐ ์ธ์๊ฐ์ผ๋ก ์ฃผ๊ณ , ์ธํฐ๋ท ์์ผ ์ฃผ์๋ ๊ตฌ์กฐ์ฒด์ด๋ฏ๋ก ํฌ์ธํฐ๋ก ๋๊น๋๋ค. ๋ง์ง๋ง์ผ๋ก ์์ผ ์ฃผ์ ๊ตฌ์กฐ์ฒด์ ํฌ๊ธฐ๊น์ง ๋ฃ์ด์ฃผ๋ฉด bind๊ฐ ์์ฑ๋ฉ๋๋ค. ์ค๋ฅ ์ฒ๋ฆฌ๋ ํ์์ ๋๋ค
bind ํจ์๊น์ง ๋ง์ณค์ผ๋ฉด, ์ด์ ๋ชจ๋ ์ค๋น๊ฐ ๋๋ฌ์ต๋๋ค. ์๋ฒ๋ ์ด์ listen ํจ์๋ฅผ ์ด์ฉํด ๋๊ธฐ๋ชจ๋๋ก ๋ค์ด๊ฐ๋๋ค. ๋๊ธฐ๋ชจ๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ํธ๋ฅผ ์ค ๋ ๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ํจ์๋ก, ๋ง์น ์๋์ด ์ค๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. listen ํจ์์์ ๋ง์ง๋ง ์ธ์ ๊ฐ์ ๋์ ์ ์ ํ์ฉ ํด๋ผ์ด์ธํธ ์์ ๋๋ค.
ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ฑ๊ณตํ๋ฉด, ์๋ฒ๋ accept() ํจ์๋ฅผ ํธ์ถํ๊ณ , ํด๋ผ์ด์ธํธ์ ํต์ ์ ํ๊ธฐ ์ํ ์์ผ์ ๋ฐํํ๊ฒ ๋ฉ๋๋ค. ๊ณ ๋ก ์๋ฒ ํ๋ก๊ทธ๋จ์๋ 2๊ฐ์ ์์ผ์ด ํ์ํ ๊ฒ์ด์ฃ . Listen์ ์ํ ์์ผ๊ณผ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ์ ๋ฐ๊ธฐ ์ํ Accept ์์ผ.
accept ์์ผ์ ํด๋ผ์ด์ธํธ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ก, listen socket์ ๊ณ์ ๋ค์ ์ฐ๊ฒฐ์ ๋ฐ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋ฉ๋๋ค.
Windows์์๋ ๋ฌธ์ ์์ด ์์ผ ํ๋ก๊ทธ๋๋ฐ์ ์ฑ๊ณตํ์์ต๋๋ค!
์ค์? ์ด๋์ ๋ณด๋, Windows์์๋ grep ์ปค๋งจ๋๋ฅผ ์ง์ํ๋๊ตฐ์. Good !
๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํต์ ์ ์ฐจ์ ๋ฐ๋ผ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ๋ ์ฝ๋ฉํด๋ณด์๋ฉด ๋ฉ๋๋ค.
๋ง์น๋ฉฐ.....
์ฌ๊ธฐ๊น์ง ์๋์ฐ ์์ผ ํ๋ก๊ทธ๋๋ฐ ์์ฑ๋ ๋ง๋ฌด๋ฆฌ๋์์ต๋๋ค. ์๋ฌด๋๋ ์ ๋ Windows์๋ ์ ์๋ง๋ ๋ฏ ใฑ-; ๋ฆฌ๋ ์ค์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ฌ์ฉํ๋ค๋ณด๋, ์ฌ๋ฌ๋ชจ๋ก ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ๋ ์๊ณ , Windows ๋ง์ ์ปค๋ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ด ๋ ๋ณ๋๋ก ์กด์ฌํด์, ์ฌ๋ฌ๋ชจ๋ก ์ฝ๋ฉํ ๋ ๋ง์ด ๊น๋ค๋ก์ด ์ ์ด ์กด์ฌํ์ต๋๋ค.
ํนํ Visual C++๋ฅผ ์ฌ์ฉํ ๋, ์ ๋์ฝ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฌ๋ฅผ ๊ธฐ์ธ์ฌ์ ํ ํธ์ธ๋ฐ, ์ด๋ฒ ์์ผ ํ๋ก๊ทธ๋๋ฐ์์ argument๋ฅผ ์ ๋์ฝ๋๋ก ๋ณด๋ด๋ ๊ฒ์ ๋ฌธ์ ๊ฐ ์์ด ์ฝ๊ฐ์ ๊ฐ๋ผ๋ฅผ ์กฐ๊ธ ์ด์ฉํ์ต๋๋ค๋ง, ๋ค์ ์ฝ๋ฉํ ๋๋ ๋ฐ๋์ ์ด ๋ฌธ์ ์ ๋ํ ํด๋ฒ์ ์ฐพ์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค ^^;
์ฌ๊ธฐ๊น์ง ๋คํธ์ํฌ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด์์ต๋๋ค.
'Programming > WinAPI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HANDLE ๊ตฌ์กฐ์ฒด์ Kernel Object๋ฅผ ์ด์ฉํ ์๋์ฐ ํ๋ก๊ทธ๋๋ฐ (0) | 2016.08.31 |
---|---|
HANDLE ๊ตฌ์กฐ์ฒด์ Kernel Object (0) | 2016.08.29 |
SBCS, MBCS์ WBCS / ์ ๋์ฝ๋ ํ๋ก๊ทธ๋๋ฐ์ด ์ค์ํ ์ด์ (3) | 2016.07.19 |
Win32 API์ ์๋ฃํ (0) | 2016.06.14 |
Windows API ์์ ๋ง๋จ (0) | 2016.06.12 |