Windows ์์คํ ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธ
์๋์ฐ ๊ณ์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ ์๊ฐ์ด ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ๋ค์ด์ผ ํ ํ์ ๊ฐ์! C/C+, ์๋ฃ๊ตฌ์กฐ, ์ด์์ฒด์ ์ด๋ก ๊น์ง ๊ณต๋ถํ๋์? ๊ทธ๋ ๋ค๋ฉด ์ด์ ๋ ์์คํ ํ๋ก๊ทธ๋จ ๊ณต๋ถ๊ฐ ์ ๋ต์ ๋๋ค. ์ด์ ๋ถํฐ๋ ์ค์ ์ ๋๋ค!

- ํด๊ฒฐ
์ธ๋งํฌ์ด ๊ฐ์์ ๋ฐ๋ฅธ ์ค๋ ๋ ์ ์ ์ํ
//#include "pch.h" //#include "Logger/Console/Console.h" #include #include #include #includ
csystem-programmingvc++wjdwlgns8096
ใป
6๋ฌ ์
0
50
2
- ํด๊ฒฐ
๋ฉ๋ชจ๋ฆฌ ๋งต๊ณผ ๋น๋๊ธฐ ์ /์ถ๋ ฅ ์กฐํฉ #2 ์์ ๋ด์ฉ์ ์ง๋ฌธ์์ต๋๋ค.
์ฝ๋์์ ๋ณด๋ฉดCOPY_DATA* pCopyData = (COPY_DATA*)malloc(sizeof(COPY_DATA)); pCopyData->pMapVie
csystem-programmingvc++pnj991122
ใป
9๋ฌ ์
0
86
2
- ํด๊ฒฐ
ํ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ญ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ง๋ฌธ
Window ํ ๊ด๋ฆฌ์๊ฐ ํ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ญ๋ค์ ๊ด๋ฆฌํ ๋ ์ผ์ข ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ์ด๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ญ๋ค์ ๊ด๋ฆฌ ํ๋ค๊ณ ๋ค์๋๋ฐ ์ด๋ฐ ๋ฆฌ์คํธ๊ฐ 1๊ฐ๋ฟ์ธ์ง ๊ถ๊ธํฉ๋๋ค(๋ฃ๊ธฐ๋ก๋ ํน์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ญ๋ค ๋ง๋ค ์ฐ๊ฒฐ๋ฆฌ์คํธ๊ฐ
csystem-programmingvc++LoDf
ใป
9๋ฌ ์
0
88
2
- ํด๊ฒฐ
MapViewOfFile ์๋ฆฌ ๊ด๋ จ ์ง๋ฌธ์์ต๋๋ค
MapviewOfFileํจ์๊ฐ ๋ฆฌํดํ๋ ์ฃผ์๊ฐ์ด ๊ฒฐ๊ตญ ์ ์ ์์ญ ์ฃผ์๊ฐ์ธ๋ฐ ํด๋น ์ ์ ์์ญ์ ํ์ด์ง ํ ์ด๋ธ ์ํธ๋ฆฌ์ ์ปค๋์์ญ์ ๋งคํ๋ ์ค์ ๋ฌผ๋ฆฌ ํ๋ ์ ์ฃผ์๋ฅผ ๋ฃ์์ผ๋ก์ ๊ตฌํ๋๋๊ฑด์ง ๊ถ๊ธํฉ๋๋ค.
csystem-programmingvc++LoDf
ใป
9๋ฌ ์
0
95
1
- ํด๊ฒฐ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ์์ญ ๊ตฌ๋ถ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ๊ตฌ๋ถ์ด stack, heap, static์ผ๋ก ๊ตฌ๋ถ๋์๋๋ฐ static๋ถ๋ถ์ด ์ฝ๋์์ญ(๊ธฐ๊ณ์ด ์ ์ฅ), ๋ฐ์ดํฐ ์์ญ(.data , .bss ์์ญ)์ธ๊ฒ์ธ์ง ๊ถ๊ธํฉ๋๋ค
csystem-programmingvc++์์ฑ์ ์์
ใป
9๋ฌ ์
0
87
2
- ํด๊ฒฐ
์คํ ํฌ๊ธฐ ๊ฒฐ์ ๋จ๊ณ
๊ทธ ์คํํฌ๊ธฐ๊ฐ 1MB์ด๊ณ ์ด๊ฒ ์ธ์ ๊ฒฐ์ ๋๋์ง ์ค๋ช ํด์ฃผ์ค๋ ์ปดํ์ผ ๋จ๊ณ๋ผ๊ณ ์๋ ค์ฃผ์ จ๋๋ฐ via ์ค๋ ๋ ์คํ ์ฑํฐ๋ณด๋ฉด ๋ง์ปค๊ฐ ์คํํฌ๊ธฐ๋ฅผ exeํ์ผ์ด๋ DLLํ์ผ์ peํค๋์์ ์ถ๊ฐํ๋ค๊ณ ํ๋๋ฐ ๊ทธ๋ฌ๋ฉด ๋งํฌ๋จ๊ณ์์ ๊ฒฐ์ ๋๋
csystem-programmingvc++LoDf
ใป
10๋ฌ ์
0
68
2
- ํด๊ฒฐ
์์คํ ํ๋ก๊ทธ๋๋ฐ-์์ฉํธ
์๋ ํ์ธ์ ์ ์๋๊ธฐ๋ณธํธ ์ ๋ฃ๊ณ ์๋ ํ์์ ๋๋คํน์ ์์ฉํธ์ ์ด๋์๋์?<p style="text
csystem-programmingvc++๊น์ฑ๊ด
ใป
์ผ ๋ ์
0
122
2
- ํด๊ฒฐ
๋ฐ์ดํธ์ ๊ด๋ จ๋ ์ ํ๋ธ ์์์ ๋ชป ์ฐพ๊ฒ ์ด์ใ ใ
์๋ ํ์ธ์ ์ ์๋~~ ๋ค๋ฆ ์๋๋ผ 2๊ฐ์ ํต์ฌ์ฃผ์ ์ ๋ฒ์์์์ ์๋ ์ ํ๋ธ์ ๋ฐ์ดํธ์
csystem-programmingvc++์๋ฌด๋ก
ใป
์ผ ๋ ์
0
86
2
- ํด๊ฒฐ
ํ์ผ ๋ณต์ฌ์ ๊ดํ ์ง๋ฌธ์ ๋๋ค
ํ์ผ์ ๋ํ ๋ด์ฉ์ ๊ณต๋ถํ๋ค๊ฐ ์ค๋ฌด์ ์์ฉํ ์ ์์๊น ๊ถ๊ธํด์ ธ์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.ํ ํ๋ก์ธ์ค ์์์ ์ค์
csystem-programmingvc++HK
ใป
์ผ ๋ ์
0
109
2
- ํด๊ฒฐ
์ธ๋งํฌ์ด ์์ ์ ๋ํ ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์. Semaphore ์์ ๋ฅผ ๋ฐ๋ผํด๋ณด๋ค๊ฐ 2๊ฐ์ง ๊ถ๊ธ์ ์ด ์์ด ์ง๋ฌธ๋๋ฆฝ๋๋ค. 10๊ฐ์ Thread๋ฅผ ์์ฑํ ํ์ ๋ง๋ค์ด์ง Thread Handle์ ๋ซ์ง ์๊ณ ์๋๋ฐ, ๊ทธ๋๋ ๊ด์ฐฎ์ ๊ฒ์ธ๊ฐ์?<
csystem-programmingvc++HK
ใป
0
95
2
- ํด๊ฒฐ
๋ฉ๋ชจ์ฅ ์ฐ๋ ๊ธฐ๊ฐ ?
<img src="https://cdn.inflearn.com/public/files/posts/d5ea2b19-91ed-4f31-a2f7-cd4137cc481a/28c0ba88-5a8c-43e6-8852-345a442e032d.webp" media-type="img"
csystem-programmingvc++taehyun0222
ใป
0
121
2
- ํด๊ฒฐ
64 bit ์ด์์ฒด์ ๋ผ๋ฉด ๊ฐ์๋ฉ๋ชจ๋ฆฌ๊ฐ
2 ^ 64 = 16 ์์ฌ๋ฐ์ดํธ (EB)๋ก ๋์ค๋๋ฐ32๋นํธ ์ด์์ฒด์ ์ ๋น๊ตํ์ ๋ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ฐจ์ด๊ฐ ๋์ ์ด์ํฉ๋๋ค..์ฐพ์๋ณด๋ ์ ๋ถ๋ค ์ฌ์ฉํ๋ ๊ฒ ์๋๋ผ ์ผ์ ๋ถ๋ถ๋ง ์ฌ์ฉํ๋ค๊ณ ํ๋๋ฐ 64 ๋นํธ ์ด์์ฒด์
csystem-programmingvc++gya9877
ใป
0
166
2
- ํด๊ฒฐ
alertable Wait ์ํ ์ง๋ฌธ์์ต๋๋ค
Overlapped IO์์ SleepEX ๊ฐ์ ํจ์๋ก Alertable Wait์ํ๋ก ์ง์ ํ ์ ์์์์? IOCP ๊ฐ์ ๊ฒฝ์ฐ GetQueuedCom
csystem-programmingvc++gya9877
ใป
0
219
1
- ํด๊ฒฐ
GetCurrentDirectory ๊ด๋ จ ์ง๋ฌธ
๊ฐ์์์ GetCurrentDirectory๋ฅผ ์ฌ์ฉํ์ฌ ์ป์ ๊ฒฝ๋ก๊ฐ์คํํ์ผ์ ๊ฒฝ๋ก๊ฐ ์๋ ์ ์๋ค๋ผ๊ณ ํ์ จ๋๋ฐ,์ ํํ๊ฒ ๋ฌด์จ ์๋ฏธ์ธ๊ฐ์?vs ๋ด์์ ๋๋ฒ๊ทธ๋ก ์คํํ๋ฉด Debug ๋๋ ํ ๋ฆฌ ๋ด์ ์คํํ์ผ์ ๊ฒฝ๋ก๊ฐ ๋์ค๋๊น ์คํํ์ผ
csystem-programmingvc++์ต์์ฉ
ใป
0
162
2
- ํด๊ฒฐ
์ธ๋งํฌ์ด ์์ ์ค ํ๋ณํ์ ๋ํ ์ง๋ฌธ
ThreadSemaphore์ ๋งค๊ฐ๋ณ์๋ LPVOID์ธ๋ฐ์ด๊ฒ์ void*๋ฅผ ์๋ฏธ ํ๋ค๊ณ ์๊ณ ์์ต๋๋ค. ์ด๋ป๊ฒ int๋ก ๋ณํ์ด ๊ฐ๋ฅํ ๊ฒ์ธ๊ฐ์?? ์ถ์ธก์ ๋ฐ์ดํฐ ๊ฐ์ด ๊ฐ์ง๊ณ ์๋ ๋นํธ ๊ทธ ์์ฒด๋ฅผ ํ์๋ง ์ฃผ์๋ก ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ ๊ฐ์ ๋ค๋ฃจ๋ ๊ฒ ๊ฐ์๋ฐ ๋ง๊ฒ
csystem-programmingvc++๊นํ์
ใป
0
154
2
- ํด๊ฒฐ
๊ฐ์ฌ๋ dll ์ง์ฐ๋ก๋ฉ ๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค
๊ฐ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์ ํ๋ฆฌ ๋ฆฌ์ฒ ์ ์ฝ์ผ๋ฉฐ ์๊ธด ์ง๋ฌธ์ด ์์ด์ ์ฌ์ญค๋ด ๋๋ค.5ํ ๋ฒ์ญ๋ณธ ๊ธฐ์ค 730p ์ ๋๋ค. /DelayLoad:MyDll.dll <- ์ง์ฐ๋ก๋ฉํ
csystem-programmingvc++์ฒญํ๋๋น ๋ฃจ
ใป
0
199
3
- ํด๊ฒฐ
์ ์ฅ๋ , _beginThreadEx() ํจ์ ์๋ฆฌ๋ ์ด๋์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์๊น์?
_beginthreadEx() ์ด ์น๊ตฌ๊ฐ Thread safeํ์ง ์์ ํจ์๊ฐ ์์ ๋, ํด๋น ํจ์๋ค์ ๋ฌธ์ ์๊ฒ๋(?) ๋ถ๋ฅด๋๋ก Thread๋ฅผ createํ๋ ๊ฒ ๊น์ง๋ ์ดํด๊ฐ ๋ฌ๋๋ฐ, ์๋ฆฌ๊ฐ ๊ถ๊ธํด์ง๋๋ค. ๋ด๋ถ์ ์ผ๋ก Lock์ ํ๊ฑฐ๋, ์๊ณ์์ญ์
csystem-programmingvc++Kumma
ใป
0
273
2
- ํด๊ฒฐ
๋ฉ๋ชจ๋ฆฌ ๋งต ๊ฐ์ ์์ ์ ๊ฒฐ๊ณผ๊ฐ ์ด์ํฉ๋๋ค.
๊ณผ์ ๋ก ๋ด์ฃผ์ memcpy ๋ฌธ์ ๋ ์์ถ๋ ํ๋ฆฌ๊ณ ํ์ผ๋ ์ ๋๋ก ์ด๋ฆฝ๋๋ค.๊ทธ๋ฐ๋ฐ ์์ ์ strcpy_s()์ ๊ฒฝ์ฐ๋ MYFILE.TXT๋ฅผ ์ด์ด๋ณด๋ฉด ๋ฌธ์๊ฐ ๋ค๊นจ์ง๊ณ ๊ธธ์ด๋ ์ด์ํฉ๋๋ค.๋๋ฒ๊ทธ ๋ชจ๋๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด๋ฉด ๊ฐ์ด ์ ๋๋ก ๋ค์ด๊ฐ๋๊ฒ ๋ณด์ ๋๋ค
csystem-programmingvc++๋ฐ์ง์
ใป
0
221
1
- ํด๊ฒฐ
๊ฐ์ฌ๋ ํ์ผ์ ์ถ๋ ฅ(Callbackํจ์)์ ๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
๊ฐ์ ๋ด์ฉ์ค ๋น๋๊ธฐ ์ ์ถ๋ ฅ CALLBACK ํจ์ ์ฌ์ฉ ๋ถ๋ถ์์ OVERLAPPED ๊ตฌ์กฐ์ฒด์ BUFFER ๋ฅผ ๋์ ํ ๋น ํด์ผ ํ๋ค๊ณ ํ์ จ๋๋ฐ.ํ์ง๋ง ๋น๋๊ธฐ I/O๋ฅผ ํ๊ณ ์๋ ์ค๋ ๋๊ฐ ๋ง์ง๋ง ๋ถ๋ถ์์ SleepEx(1, TRUE) ๋ก ๋๊ธฐํ๊ณ ์์ต๋๋ค.
csystem-programmingvc++๋ด์ผ์ ํ๊ฑธ์ ๋ ๋์๊ฐ๊ฑฐ์ผ
ใป
0
341
2
- ํด๊ฒฐ
dll ๋ช ์์ ๋งํฌ ์ค๋ฅ (์์ธ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ํ์ ํฉ๋๋ค)
DLL ๋ช ์์ ๋งํฌ์์ ํ์ผ ์ค๋ฅ๊ฐ ์๊ธฐ๋๋ฐ ํด๊ฒฐ์ด ์๋ฉ๋๋ค.๊ตฌ๊ธ ๊ฒ์์ด๋ ์ฌ๊ธฐ์ ๊ธฐ ๋ค ํด๋ดค๋๋ฐ ๋์ค๋ ๊ฒ ์์ด์ ์ง๋ฌธ ํฉ๋๋ค.์ผ๋จ ์ฝ๋ ์ ๋๋ค. ์ง๋ฌธ ๋ด์ฉ์ ์ฝ๋ ๋ฐ์ ๋ค๊ฐ ์ ์ด ๋๊ฒ ์ต๋๋ค.DLL ํ์ผ ์ด๋ฆ = Dll1.dl
csystem-programmingvc++์ ์ฉ
ใป
0
937
2






