๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ Development Study83

DC์˜ ์ •๋ณด์ˆ˜์ • https://github.com/eazuooz/WindowAPI/tree/c901142739edf795851a4cc801cc6f1c94f051d2 GitHub - eazuooz/WindowAPI Contribute to eazuooz/WindowAPI development by creating an account on GitHub. github.com GDI ์˜ค๋ธŒ์ ํŠธ GDI ์˜ค๋ธŒ์ ํŠธ๋ž€ ๊ทธ๋ž˜ํ”ฝ ์ถœ๋ ฅ์— ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ๋ฅผ ๋งํ•˜๋ฉฐ ํŽœ, ๋ธŒ๋Ÿฌ์‹œ, ๋น„ํŠธ๋งต, ํฐํŠธ ๋“ฑ๋“ฑ์ด ๋ชจ๋‘ GDI์˜ค๋ธŒ์ ํŠธ์ด๋‹ค. ์‚ฌ๋žŒ์ด ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ๋•Œ ์—ฐํ•„, ๋ถ“ ๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ GDI๊ฐ€ ๊ทธ๋ž˜ํ”ฝ์„ ์ถœ๋ ฅํ•  ๋•Œ๋Š” GDI์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰ ์„ ์„ ๊ทธ์„ ๋•Œ๋Š” ํŽœ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฉด์„ ์ฑ„์šธ ๋•Œ๋Š” ๋ธŒ๋Ÿฌ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•  ๋•Œ๋Š” ํฐํŠธ๋ฅผ.. 2022. 9. 6.
WinMain ์˜ˆ์ œ ์†Œ์Šค https://github.com/eazuooz/WindowAPI/tree/b4b7c45e0fd88ddcb056783c49a9640ed6260501 GitHub - eazuooz/WindowAPI Contribute to eazuooz/WindowAPI development by creating an account on GitHub. github.com ํ—ค๋” ํŒŒ์ผ ์šฐ์„  ์ œ์ผ ์ฒซํ–‰์„ ๋ณด๋ฉด windows.h ํ•˜๋‚˜๋งŒ ์ธํด๋ฃจ๋“œ ๋˜์–ด์žˆ๋‹ค. ๋„์Šค์—์„œ๋Š” ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ—ค๋” ํŒŒ์ผ์„ ํฌํ•จํ•˜์ง€๋งŒ ์œˆ๋„์šฐ์ฆˆ์—์„œ๋Š” ํ•˜๋‚˜์˜ ํ—ค๋” ํŒŒ์ผ์— ๋ชจ๋“  API ํ•จ์ˆ˜๋“ค์˜ ์›ํ˜•๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์ˆ˜๋“ค์„ ์ฃ„๋‹ค ์ •์˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— windos.h๋งŒ ํฌํ•จํ•ด์ฃผ๋ฉด ๋œ๋‹ค. windows.h ํ—ค๋”ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ํƒ€์ž…, ํ•จ์ˆ˜ ์›.. 2022. 9. 5.
ํŒŒ์ผ ์ž…์ถœ๋ ฅ C++๋Š” ํŒŒ์ผ๋กœ/์—์„œ ๋ฌธ์ž์˜ ์ถœ๋ ฅ ๋ฐ ์ž…๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ofstream: ํŒŒ์ผ์— ์“ธ ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค ifstream: ํŒŒ์ผ์—์„œ ์ฝ์„ ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค fstream: ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ์ŠคํŠธ๋ฆผ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. istream์ด๋Ÿฌํ•œ ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค ๋ฐ ์—์„œ ์ง์ ‘ ๋˜๋Š” ๊ฐ„์ ‘์ ์œผ๋กœ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค ostream. ์œ ํ˜•์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ด๋ฏธ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. cin๋Š” class ์˜ ๊ฐ์ฒด istream์ด๊ณ  cout๋Š” class ์˜ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค ostream. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ํŒŒ์ผ ์ŠคํŠธ๋ฆผ๊ณผ ๊ด€๋ จ๋œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค, ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํŒŒ์ผ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๋‹จ, ์ด๋Ÿฌํ•œ ์ŠคํŠธ๋ฆผ์„ ์‹ค์ œ ํŒŒ์ผ cin๊ณผ cout์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ์œ .. 2022. 8. 22.
์ „์ฒ˜๋ฆฌ๊ธฐ #define ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ์€ ํ•ด์‹œ ๊ธฐํ˜ธ( )๊ฐ€ ์•ž์— ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ํฌํ•จ๋œ ํ–‰ #์ž…๋‹ˆ๋‹ค. ์ด ํ–‰์€ ํ”„๋กœ๊ทธ๋žจ ๋ฌธ์ด ์•„๋‹ˆ๋ผ ์ „์ฒ˜๋ฆฌ๊ธฐ์— ๋Œ€ํ•œ ์ง€์‹œ๋ฌธ์ž…๋‹ˆ๋‹ค . ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ์ฝ”๋“œ์˜ ์‹ค์ œ ์ปดํŒŒ์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์ฝ”๋“œ๊ฐ€ ์‹ค์ œ๋กœ ์ผ๋ฐ˜ ๋ช…๋ น๋ฌธ์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ธฐ ์ „์— ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ง€์‹œ๋ฌธ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ ์€ ํ•œ ์ค„์˜ ์ฝ”๋“œ์—์„œ๋งŒ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋Š” ์ฆ‰์‹œ ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ;์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ ๋์— ์„ธ๋ฏธ์ฝœ๋ก ( )์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค . ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ์ด ๋‘˜ ์ด์ƒ์˜ ์ค„์„ ํ†ตํ•ด ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์ค„ ๋์— ์žˆ๋Š” ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž ์•ž์— ๋ฐฑ์Šฌ๋ž˜์‹œ( \)๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ์ •์˜(#define, #undef) ์ „์ฒ˜๋ฆฌ๊ธฐ ๋งคํฌ๋กœ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด #defin.. 2022. 8. 22.
exception ์˜ˆ์™ธ๋Š” ์ฒ˜๋ฆฌ๊ธฐ ๋ผ๋Š” ํŠน์ˆ˜ ํ•จ์ˆ˜์— ์ œ์–ด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ(์˜ˆ: ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜)์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . ์˜ˆ์™ธ๋ฅผ ํฌ์ฐฉํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ์˜ ์ผ๋ถ€๊ฐ€ ์˜ˆ์™ธ ๊ฒ€์‚ฌ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ์˜ ํ•ด๋‹น ๋ถ€๋ถ„์„ try-block ์œผ๋กœ ๋ฌถ์Œ์œผ๋กœ์จ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค . ํ•ด๋‹น ๋ธ”๋ก ๋‚ด์—์„œ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์ œ์–ด๋ฅผ ์ „์†กํ•˜๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ณ„์†๋˜๊ณ  ๋ชจ๋“  ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค . ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๋Š” ๋ธ”๋ก ๋ฐ”๋กœ ๋’ค์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค .throwtrycatchtry // exceptions #include using namespace std; int main () { try { throw 20; }.. 2022. 8. 22.
ํ˜•๋ณ€ํ™˜ ํด๋ž˜์Šค์—์„œ ์•”์‹œ์  ๋ณ€ํ™˜ ์•”์‹œ์  ๋ณ€ํ™˜์€ ๊ฐ’์ด ํ˜ธํ™˜๋˜๋Š” ์œ ํ˜•์œผ๋กœ ๋ณต์‚ฌ๋  ๋•Œ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด: short a=2000; int b; b=a; ์—ฌ๊ธฐ์„œ ์˜ ๊ฐ’์€ ๋ช…์‹œ์  ์—ฐ์‚ฐ์ž ์—†์ด ์—์„œ ๋กœ a์Šน๊ฒฉ๋ฉ๋‹ˆ๋‹ค . ์ด๊ฒƒ์„ ํ‘œ์ค€ ๋ณ€ํ™˜ ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ณ€ํ™˜์€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ ์ˆซ์ž ์œ ํ˜•( to , to , to ...), to ๋˜๋Š” from ๋ฐ ์ผ๋ถ€ ํฌ์ธํ„ฐ ๋ณ€ํ™˜ ๊ฐ„์˜ ๋ณ€ํ™˜์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž‘์€ ์ •์ˆ˜ ์œ ํ˜•์—์„œ ๋กœ ๋˜๋Š” from์œผ๋กœ ๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒƒ์„ ์Šน๊ฒฉ ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๋Œ€์ƒ ์œ ํ˜•์—์„œ ์ •ํ™•ํžˆ ๋™์ผํ•œ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋„๋ก ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ์‚ฐ์ˆ  ์œ ํ˜• ๊ฐ„์˜ ๋‹ค๋ฅธ ๋ณ€ํ™˜์ด ํ•ญ์ƒ ๋™์ผํ•œ ๊ฐ’์„ ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.shortintshortintintfloatdoubleintbool intdouble.. 2022. 8. 22.