728x90
[์„ธํŒ…] pch : pre compile header ์„ธํŒ…, ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ์ฐธ์กฐํ•˜๊ธฐ, ์‹คํ–‰ํŒŒ์ผ ์ €์žฅ์œ„์น˜ ๋ณ€๊ฒฝํ•˜๊ธฐ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์ปดํ“จํ„ฐ ๊ณตํ•™2025. 3. 6. 17:00[์„ธํŒ…] pch : pre compile header ์„ธํŒ…, ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ์ฐธ์กฐํ•˜๊ธฐ, ์‹คํ–‰ํŒŒ์ผ ์ €์žฅ์œ„์น˜ ๋ณ€๊ฒฝํ•˜๊ธฐ

1. pch(pre compile header)?์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘๊ฐ„ ํ˜•ํƒœ๋กœ ์ปดํŒŒ์ผ๋œ (c ๋˜๋Š” c++) ํ—ค๋” ํŒŒ์ผ.stdafx.h --> ๋‚ด๊ฐ€ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ํ—ค๋” ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ  pch.cpp ํŒŒ์ผ ์†์„ฑ์—์„œ ์‚ฌ์šฉ์ด ์•„๋‹ˆ๋ผ ๋งŒ๋“ค๊ธฐ๋กœ ๋ณ€๊ฒฝ  2. ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ ์˜ˆ๋ฅผ ๋“ค์–ด, ServerCoreํ”„๋กœ์ ํŠธ๋ฅผ GameServer์™€ DummyClient๊ฐ€ ์ฐธ์กฐํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์†์„ฑ ์„ค์ • ๋ฐฉ๋ฒ•์ด๋‹ค.GameServer์™€ DummyClient ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์†์„ฑ์ฐฝ์— ๋“ค์–ด๊ฐ„๋‹ค. ํฌํ•จ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํฌํ•จ๋””๋ ‰ํ„ฐ๋ฆฌ: $(SolutionDir) ํฌํ•จํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ \๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: $(SolutionDir) ํฌํ•จํ•˜๊ณ  ์‹ถ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋ฆ„ \ 3. ์‹คํ–‰ํŒŒ์ผ ์ €์žฅ์œ„์น˜ ๋ณ€๊ฒฝ..

Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์ปดํ“จํ„ฐ ๊ณตํ•™2025. 2. 5. 14:37Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ

WindowsWindows๋ผ๋Š” ์ œํ’ˆ๋ช…๊ณผ ๊ฐ™์ด Windows์šฉ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ ์ฃผ๋œ ์ฃผ์ œ ํ•˜๋‚˜๋Š” '์ฐฝ(Window)'์„ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ์š”์†Œ, [์ฃผ ์ฐฝ, ๋„๊ตฌ ๋ชจ์Œ, ๋ฉ”๋‰ด, ์Šคํฌ๋กค๋ฐ”, ๋ฒ„ํŠผ, ๊ธฐํƒ€ ๋Œ€ํ™”์ƒ์ž ์ปจํŠธ๋กค]์€ ๋ชจ๋‘ ์ฐฝ์ด๋‹ค. ๋”ฐ๋ผ์„œ windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์ˆ˜์˜ ์ฐฝ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.    1. ์ž์› Windows์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ ํ™”๋ฉด ๊ฐ™์€ ํ•˜๋“œ์›จ์–ด ์ž์›๋“ค์„ ์—ฌ๋Ÿฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์—ฌ๋Ÿฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ž์›(Resource)์— ๋ฌด์งˆ์„œํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด windows๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•˜๋“œ์›จ์–ด์— ์ง์ ‘ ์ ‘๊ทผ์„ ๋ชป..

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์ปดํ“จํ„ฐ ๊ณตํ•™2024. 6. 26. 11:29[assembly ๋ช…๋ น์–ด] mov, lea

"[ assembly ๋ช…๋ น์–ด ] mov, lea" mov ( move ) - ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๋ช…๋ น์–ด (*์ด๋™์ด ์•„๋‹˜ ์ฃผ์˜) [์˜ˆ์‹œ]1. mov eax, dword ptr [ a ] :  a์˜ ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” 4๋ฐ”์ดํŠธ(Dword) ๊ฐ’์ด eax์— ์ €์žฅํ•œ๋‹ค. 2. mov eax, [adr]  : adr์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์„ eax์— ์ €์žฅํ•œ๋‹ค.3. mov dword ptr [ a ], 3 : a์— 3 ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.4. mov eax, [ rbx + 8 ] : rbx์ฃผ์†Œ๊ฐ’์— + 8์„ ํ•œ ์ฃผ์†Œ๋กœ ๊ฐ€์„œ ๊ทธ ์•ˆ์— ์žˆ๋Š” ๊ฐ’์„ eax์— ๋ณต์‚ฌํ•œ๋‹ค.  5. mov [rcx], rax : rcx๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ์ฃผ์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ์— rax ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. Lea  ( Load Effective Address )- ์œ ํšจ..

728x90
image