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

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ๊ธฐ์ดˆ28

[C/C++] 7. ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ(windows/linux) C/C++์€ ์ปดํŒŒ์ผ ์–ธ์–ด์ด๋ฉด์„œ ํ”Œ๋žซํผ ์ข…์†์ ์ธ ํŠน์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ํ”Œ๋žซํผ์— ์ข…์†๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผํ•ด์„œ ์–ป์€ ์‹คํ–‰ํŒŒ์ผ์ด ๋งŒ์•ฝ ํ”Œ๋žซํผ์ด ๋‹ค๋ฅด๋‹ค๋ฉด ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํ”Œ๋žซํผ์ธ ์œˆ๋„์šฐ์™€ ๋ฆฌ๋ˆ…์Šค์—์„œ ๊ฐ๊ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž. โœ… windows ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ๋Š” Visual Studio๊ฐ€ 90% ์ด์ƒ์˜ ์ ์œ ์œจ์„ ๋ณด์ธ๋‹ค. ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— MS๊ฐ€ ๋งŒ๋“  VS์™€ ํ˜ธํ™˜์ด ์ž˜ ๋˜๊ณ , MSVC ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— VS๋งŒ ์„ค์น˜ํ•ด๋„ ๋ณ„๋‹ค๋ฅธ ์ถ”๊ฐ€๋„๊ตฌ๊ฐ€ ํ•„์š” ์—†๋‹ค. ์ปดํŒŒ์ผ, ์‹คํ–‰, ๋ถ„์„๊นŒ์ง€ ํ•œ IDE์—์„œ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŽธ๋ฆฌํ•˜๋‹ค. ๋‹ค๋งŒ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋งŒํผ ์„ค์น˜ ์šฉ๋Ÿ‰์ด ํฌ๊ณ  ๋ฌด๊ฒ๋‹ค. ํ˜„์žฌ๋Š” Visual Studio 2022๊นŒ์ง€ ๋‚˜์™€์žˆ๋‹ค. ์„ค์น˜๋Š” ์•„๋ž˜ .. 2023. 4. 11.
Makefile ๊ธฐ์ดˆ โœ… ๊ธฐ๋ณธ makefile ์—†์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปดํŒŒ์ผ ํ•˜๊ฒŒ ๋ ๋•Œ๋Š” gcc/g++๋กœ ์ปดํŒŒ์ผํ•œ๋‹ค. gcc -c main.c usa.c kor.c gcc -o app.out main.o usa.o kor.o ์—ฌ๊ธฐ์„œ ๋˜‘๋˜‘ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋ฆฌ๋ˆ…์Šค๋Š” gcc -o app.out main.c usa.c kor.c ๋ฅผ ํ†ตํ•ด ์œ„ ๋‘๊ณผ์ •์„ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. โœ… Makefile ๋งŒ๋“ค๊ธฐ TARGET : DEPENDENCY command TARGET์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” DEPENDENCY๊ฐ€ ํ•„์š”ํ•˜๋‹ค. command ๋ช…๋ น์„ ํ†ตํ•ด TARGET์„ ๋งŒ๋“ ๋‹ค. โœ”๏ธ ex1) ๊ธฐ๋ณธ์ ์ธ Makefile ์ฒซ ๊ตฌ์„ฑ (main.c kor.c usa.c → app.out) app.out : main.o kor.o usa.o gcc -o app.out m.. 2023. 4. 11.
[C/C++] 6. ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ(Entry point)(feat. argc/argv) ์˜ค๋Š˜์€ ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ(Entry point)์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ๋ผ๊ณ  ํ•˜๋ฉด ์ข€ ๊ฑฐ์ฐฝํ•œ ๋Š๋‚Œ์ธ๋ฐ, ์‚ฌ์‹ค ๋ณ„ ๊ฑฐ ์—†์Šต๋‹ˆ๋‹ค. ์ด์ „ ํฌ์ŠคํŒ… ์ค‘ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์‹คํ–‰ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ๋ง์”€๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ C/C++๋กœ ์ง  ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•ญ์ƒ mainํ•จ์ˆ˜์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์ˆ˜๋งŽ์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋”๋ผ๋„ ์‹œ์ž‘์€ ํ•ญ์ƒ mainํ•จ์ˆ˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์‹œ์ž‘ ๊ตฌ๋ฌธ์€ main์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. // C #include int main() { printf("Hello world"); return 0; } ์œ„ ์˜ˆ์ œ์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋”๋ผ๋„ mainํ•จ์ˆ˜์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. // C++ #include int main() { std::cout num; std::cout 2021. 4. 5.
[C/C++] 5. ๋ฐ˜๋ณต๋ฌธ(Iteration statements) - while๋ฌธ(while loop) ๋”๋ณด๊ธฐ ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ ์ค‘ for๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ ๊ธ€์€ ๋ฐ˜๋ณต๋ฌธ์˜ ๋˜ ๋‹ค๋ฅธ ์ข…๋ฅ˜์ธ while๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ๋‹ค. while๋ฌธ๊ณผ for๋ฌธ ๋ชจ๋‘ ๋ฐ˜๋ณต์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ์ ์—์„œ๋Š” ๊ฐ™์€ ๋ถ€๋ฅ˜์ด๊ณ , ์“ฐ์ด๋Š” ๋ฐฉ์‹๋งŒ ๋‹ค๋ฅด๊ณ  ๊ฐ™์€ ๋ฐ˜๋ณต์„ for, while๋ชจ๋‘ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๋ฐ˜๋ณตํ•ด์•ผ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ for๋‚˜ while ์ค‘ ์ ํ•ฉํ•œ ๊ฒƒ์„ ๊ณจ๋ผ์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. // while์˜ ๊ฒฝ์šฐ๋Š” ๋ฌดํ•œ๋ฐ˜๋ณต์„ ์‚ฌ์šฉํ•  ๋•Œ ๋งŽ์ด ์“ฐ์ด๊ธฐ๋„ ํ•œ๋‹ค. # While๋ฌธ while(๋…ผ๋ฆฌ์กฐ๊ฑด) { ๋ฐ˜๋ณต ์ง„ํ–‰ ๊ตฌ๋ฌธ } ๊ธฐ๋ณธ์ ์ธ while๋ฌธ์€ ์œ„์™€ ๊ฐ™์ด ๋…ผ๋ฆฌ์กฐ๊ฑด์ด true์ธ ๊ฒฝ์šฐ์— ๋ฐ˜๋ณต ์ง„ํ–‰ ๊ตฌ๋ฌธ์„ ์ง„ํ–‰ํ•œ๋‹ค. ๋…ผ๋ฆฌ์กฐ๊ฑด์ด ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ true๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋ฉด ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค. // C++ #include int.. 2021. 4. 3.
[C/C++] 4. ๋ฐ˜๋ณต๋ฌธ(Iteration statements) - for๋ฌธ(for loop) ๋ฐ˜๋ณต๋ฌธ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ˜๋ณต ๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.(์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค.) ๋˜ํ•œ ์žฌ๊ท€๋ผ๋Š” ๊ฐœ๋…๋„ ๋ฐ˜๋ณต์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์žฌ๊ท€๋Š” ๋”ฐ๋กœ ํฌ์ŠคํŒ…์„ ํ•  ์˜ˆ์ •์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๋ชฉ์ ์ด ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ตœ์†Œํ™”ํ•˜๋Š”๋ฐ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์€ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค. ๊ทธ๋งŒํผ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ ์ค‘ํžˆ ์จ์•ผํ•  ๊ฒƒ์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘์ฒฉ๋˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์‹œ๊ฐ„๋ณต์žก๋„(Big-Oํ‘œ๊ธฐ๋ฒ•์— ๋”ฐ๋ฅธ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๋งํ•œ๋‹ค.)๊ฐ€ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋งŒํผ ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. # for๋ฌธ(for-loop) // C++ #include for ( .. 2021. 3. 29.
[C/C++] 3. ์กฐ๊ฑด๋ฌธ(Conditional statement) ์กฐ๊ฑด๋ฌธ(Conditional statement) ์กฐ๊ฑด๋ฌธ์€ ์ œ์–ด๋ฌธ์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ํ๋ฆ„์— ๋ถ„๊ธฐ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ๋ฌธ์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ๋ฆ„ ์ œ์–ด๋ฌธ์ด๋ผ๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์ง€์ •๋œ ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. #if, else if, else condition์„ ๋‚˜ํƒ€๋‚ด๋Š” if๋ฌธ์— true, false๊ฐ€ ๋˜๋Š” ๋…ผ๋ฆฌ ๊ตฌ๋ฌธ์ด ๋“ค์–ด๊ฐ„๋‹ค. #include int var = 5; if ( var > 3 ) { std::cout 3 ) { std::cout 2021. 3. 18.