๋‹ค๋“ค ์•Œ์ˆ˜๋„ ์žˆ๊ณ , ๋ชจ๋ฅผ์ˆ˜๋„ ์žˆ์ง€๋งŒ, C์™€ C++์€ ์–ด๋А์ •๋„ ํ˜ธํ™˜์ด ๋˜๋Š” ์–ธ์–ด๋‹ค.

๊ทธ๋ž˜์„œ, ์–ด๋А์ •๋„๋Š” C์ฝ”๋“œ๋ฅผ C++๋กœ ์ปดํŒŒ์ผํ•ด๋„ ๋˜๊ณ , C++ ์ฝ”๋“œ๋ฅผ C๋กœ ์ปดํŒŒ์ผ ํ•ด๋„ ๋œ๋‹ค.


ํ•˜์ง€๋งŒ ๋ช‡๊ฐ€์ง€ ๋‹ค๋ฅธ์ ์ด ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿฐ ์ฐจ์ด๋ฅผ ์‹œ์‹œ์ฝœ์ฝœ ๋‹ค๋ฃจ๊ณ  ์‹ถ์ง€๋Š” ์•Š์œผ๋‹ˆ ํŒจ์Šค!


(์‚ฌ์‹ค ์ปดํŒŒ์ผ๋Ÿฌ๋งˆ๋‹ค ํ˜ธํ™˜์ด ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋‹ฌ๋ผ์„œ,ย 

๊ทธ๋ƒฅ C๋ฅผ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด C ์ฝ”๋“œ๋ฅผ, C++์„ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด C++ ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š”๊ฒŒ

์ •์‹ ๊ฑด๊ฐ•์— ์ด๋กญ๋‹ค.)


ํŠนํžˆ C11๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ C++11๊ณผ๋Š” ๋งŽ์ด ๋‹ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐ”๋€Œ๋‹ค๋ณด๋‹ˆ, ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๊ฐ€ ๋” ๋งŽ์•„ ์กŒ๊ณ ,

๊ทธ๋ƒฅ ๋”ฐ๋กœ ๋‚˜๋ˆ ์“ฐ๋Š”๊ฒŒ ์†ํŽธํ•˜๋‹ค.



C++ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ msvc๋„ ์žˆ๊ณ , GNU g++๋„ ์žˆ์ง€๋งŒ, ๊ทธ๋ƒฅ ๊น”๊ธฐ ์‰ฌ์šด msvc๋ฅผ ์ถ”์ฒœํ•œ๋‹ค.

(๋ฌผ๋ก  ๊ผญ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์“ฐ๋ผ๋Š”๊ฑด ์•„๋‹ˆ๋‹ค.)


https://imagine.microsoft.com/ko-KR/Catalog/Product/530

์ด ๋งํฌ๋กœ ๊ฐ€์„œ ๋‹ค์šด ๋ฐ›์ž.



viewimage.php?id=2abcdd23dad63db0&no=29bcc427bd8177a16fb3dab004c86b6f9d6f040c009803c912b33143016fd976922f6c68bf25770fc25fd6ceb2353edf286461b12bdac67ff8482ec101b4


(๋นจ๊ฐ„๋„ค๋ชจ๋ฅผ ์ฒดํฌํ•˜์ž.)

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ๊น”๊ณ  ์ผ๋ จ์˜ ์„ค์น˜ ๊ณผ์ •์„ ๊ฑฐ์ณค์œผ๋ฉด msvc๋ฅผ ์“ธ์ˆ˜ ์žˆ๋‹ค!ย 

๋ฌผ๋ก  ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์—ญ์‹œ ์“ธ์ˆ˜ ์žˆ๋‹ค!


ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , C++ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋„ ๋˜๋Š”๋ฐ, ๊ทธ ์™ธ์—๋„ msvc ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ปค๋งจ๋“œ๋ผ์ธ์œผ๋กœ ์“ฐ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

์•„๋ž˜ ๋‚ด์šฉ์€ ์ปค๋งจ๋“œ๋ผ์ธ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.


์ฝ๊ณ  ์‹ถ์œผ๋ฉด ์ฝ์–ด๋„ ๋˜๊ณ , ํ•ด๋ณด๊ณ  ์‹ถ์œผ๋ฉด ๋”ฐ๋ผํ•ด๋„ ์ข‹์Œ.

๋ฌผ๋ก  ํ•˜๊ธฐ ์‹ซ์œผ๋ฉด ๊ทธ๋ƒฅ F5๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋นŒ๋“œํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. (์ด๊ฒƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊น”๋”ํ•˜๊ฒŒ ์ž˜๋œ๋‹ค.)



๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ์„ค์น˜๋ฅผ ๋งˆ์ณค์œผ๋ฉด ์•„๋ž˜ ์ฃผ์†Œ ํ˜น์€ ์„ค์น˜ ํด๋”์—

C:Program Files (x86)Microsoft Visual Studio7CommunityVCAuxiliaryBuild

๋ผ๋Š” ํด๋”๊ฐ€ ์žˆ์„๊ฒƒ์ด๋‹ค. ๊ฑฐ๊ธฐ์žˆ๋Š” ๋ฐฐ์น˜ํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด msvc๋ฅผ ์ปค๋งจ๋“œ๋ผ์ธ์—์„œย ์“ธ์ˆ˜ ์žˆ๋‹ค.


ํ•ธ๋“œ๋ฉ”์ด๋“œํžˆ์–ด๋กœ์˜€์—ˆ๋‚˜? ์–ด๋–ค ์œ ํŠญ ๋น„๋””์˜ค์—์„œ ์ €๊ฑธ ์‹œ์ž‘ํ”„๋กœ๊ทธ๋žจ์— ๋„ฃ์—ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ๋Š”๋ฐ,ย 

์–ด๋–ป๊ฒŒ ํ–ˆ๋Š”์ง€๋Š” ๊ธฐ์–ต์ด ์•ˆ๋‚˜๋ฏ€๋กœ, ํŒจ์“ฐํ•จ. ๊ทธ๋ƒฅ ๋ฐ”๋กœ๊ฐ€๊ธฐ์ •๋„๋งŒ ๋งŒ๋“ค์–ด ๋‘ฌ๋„...



cl (์ปดํŒŒ์ผํ•œ๋‹ค๋Š” ๋ช…๋ น์–ด)


-Fe (์•„์›ƒํ’‹์˜ ์ด๋ฆ„ -Fe"์ด๋ฆ„.exe" ๋ผ๊ณ  ๋ฐ”๋กœ ๋ถ™์—ฌ ์จ์•ผ๋จ.)

-EHa (์ต์…‰์…˜ ํ•ธ๋“ค๋ง ์˜ต์…˜)ย https://msdn.microsoft.com/en-us/library/1deeycx5.aspxย 

-Za (์–ธ์–ดํ™•์žฅ ๋น„ํ™œ์„ฑํ™” ์˜ต์…˜ ANSI C89 ๋ž‘ iso C++11 ํ‘œ์ค€๋งŒ ์ธ์‹ํ•˜๊ฒŒ ํ•˜๊ฒŒ ํ•จ)ย https://msdn.microsoft.com/en-us/library/0k0w269d.aspx

-W4 (์›Œ๋‹๋ ˆ๋ฒจ 4) (๋‚ฎ์ถฐ๋„ ๋˜์ง€๋งŒ ์ œ์ผ ๋†’์€ 4๋กœ ํ•˜๋Š”๊ฑธ ์ถ”์ฒœ)

-WX (์›Œ๋‹์„ ์—๋Ÿฌ๋กœ ์ทจ๊ธ‰ํ•จ.)ย 


๋“ฑ๋“ฑ์˜ ์˜ต์…˜์„ ์“ฐ๋ฉด ๋จ.


์˜ˆ๋ฌธ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด ๋ณด์ž๋ฉด, main.cpp๋ฅผ ๋นŒ๋“œํ•ด์„œ, Test.exe๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ๊ฒฝ์šฐ์ž„.


cl -FeTest.exe main.cppย -W4 -Wx -Za -EHa

๋ผ๊ณ  ์ปค๋งจ๋“œ๋ผ์ธ์— ์น˜๋ฉด ์ •์ƒ์ ์ธ ์ฝ”๋“œ์ผ ๊ฒฝ์šฐ main.obj์™€ Test.exe๊ฐ€ ํด๋”์—ย ๋‚˜์˜ฌ๊ฒƒ์ž„.ย 

(ํŒŒ์›Œ์‰˜์ด๋ผ ์•ˆ๋˜๋ฉด ํŒŒ์›Œ์‰˜ ๋ช…๋ น์ฐฝ์— cmd ๋ผ ์น˜๊ณ , ๊ทธ๋‹ด์— ์ž…๋ ฅํ•ด๋ณด์…ˆ.)


๋ฌผ๋ก  ์ด๊ฑฐ ๋ง๊ณ ๋„ ์˜ต์…˜์ด ๋งŽ์ง€๋งŒ, ๋Œ€์ถฉ ์ด์ •๋„ ์˜ต์…˜๋งŒ ์จ์ค˜๋„ ์ปค๋งจ๋“œ๋ผ์ธ์œผ๋กœ ์ฝ”๋”ฉํ•˜๋Š”๋ฐ ๋ณ„ ๋ฌธ์ œ ์—†๋Š”๋“ฏ.

๊ท€์ฐฎ์œผ๋ฉด ๋ฉ”์ดํฌํŒŒ์ผ์ด๋‚˜, ๋น„์Šทํ•œ๊ฑธ ๋งŒ๋“ค์–ด ์จ๋„ ๋˜๊ณ 

์ • ํ•˜๊ธฐ ์‹ซ์œผ๋ฉด ๊ทธ๋ƒฅ ๋น„์ฃผ์–ผ์ŠคํŠœ๋””์˜ค์—์„œ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด ์จ๋„ ๋œ๋‹ค.


์–ผ์ถ” ์ปดํŒŒ์ผํ•˜๊ณ , ๋งํฌ ํ•ด์„œย ํ”„๋กœ๊ทธ๋žจ์„ ๋ฝ‘์•„๋‚ผ์ˆ˜ ์žˆ์œผ๋ฉด, ์ฝ”๋“œ ์“ธ ์ค€๋น„๋Š” ๋๋‚œ๊ฒƒ.


์œ„ ๋ฌธ์žฅ์—๋„ ๋‚˜์™€์žˆ์ง€๋งŒ, Cํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ C++ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š”๋ฐ


step 1 ์†Œ์Šค ์ฝ”๋“œ ์—๋”ง. (์ฝ”๋“œ๋ฅผ ํŒŒ์ผ์— ์“ฐ๋Š”๊ฑฐ์ž„. ๊ฐ์ข… ์—๋””ํ„ฐ๋กœ ์“ฐ๋ฉด ๋จ.)

step 2 ์ปดํŒŒ์ผ. (์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜ค๋ธŒ์ ํŠธ ์ฝ”๋“œ(๋ฐ”์ด๋„ˆ๋ฆฌ์ž„)๋กœ ๋งŒ๋“ค์–ด์คŒ.)

step 3 ๋งํฌ (์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ์ด๋ž‘ ๋งํฌํ•ด์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํ•ฉ์น˜๋Š”๊ฑฐ์ž„.)

stpe 4 ์‹คํ–‰ ( ์‹คํ–‰๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ (์œˆ๋„์šฐ์˜ exe)๊ฐ€ ์žˆ๊ณ , ์ด์ œ ๊ทธ๊ฑธ ์‹คํ–‰ ํ•˜๋Š”๊ฑฐ์ž„.


๊ทธ๋Ÿฐ๋ฐ ๋งํฌ๋Š” ๊ฑฑ์ •ํ•  ํ•„์š” ์—†๊ณ , ์œ„ ์ปค๋งจ๋“œ๋ผ์ธ์— ๋„ฃ์–ด์ฃผ๋ฉด ๋งํฌ๊นŒ์ง€ ํ•œ๋ฒˆ์—ย ํ•ด์คŒ.ย 

๋ฌผ๋ก  ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋กœ ๋งํฌ ์—๋Ÿฌ ๋‚˜์˜ค๋ฉด, ๋ญ”๊ฐ€ ์‹ค์ˆ˜๋ฅผ ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ๊ณ ์ณ์•ผ๊ฒ ์ง€๋งŒ;;


์ปดํŒŒ์ผํ• ๋•Œ /c ์˜ต์…˜์„ ์ฃผ๋ฉด ์ปดํŒŒ์ผ๋งŒ ํ•˜๊ฒŒ ํ• ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ, ํ•ด๋ณด๊ณ  ์‹ถ์œผ๋ฉด ํ•ด๋ณด๋ฉด ๋จ.


cl -FeTest.exe main.cppย -W4 -Wx -Za -EHa /c

๋ผ๊ณ  ํ•˜๋ฉด ์›๋ž˜๋Š” ๋งํฌ๋„ ๋˜์„œ Test.exe ๊นŒ์ง€ ๋‚˜์˜ค๊ฒ ์ง€๋งŒ, /c ์˜ต์…˜์ด ์žˆ์–ด์„œ ์ปดํŒŒ์ผ๋งŒ ํ–ˆ์œผ๋ฏ€๋กœ main.obj๋งŒ ๋‚˜์˜ด.


๊ทธ๋ฆฌ๊ณ  ๋งํฌ๋งŒ ํ• ๋•Œ๋Š”ย 

cl -FeTest.exe main.obj ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด ๋งํฌ๊ฐ€ ๋˜๊ณ , Test.exe๊ฐ€ ๋‚˜์˜ด.ย 


(๋‚˜๋„ ์ž์„ธํ•˜๊ฒŒ ๋งํฌ์™€ ์ปดํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•ด์„œ ๋นŒ๋“œํ•œ์ ์€ ๋งŽ์ง€ ์•Š์•„์„œย 

์ € ์˜ต์…˜์ด ์ œ๋Œ€๋กœ ์•ˆ ๋ฌ์„์ˆ˜ ์žˆ๋Š”๋ฐ, ๋งŒ์•ฝ ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๋ฉด ๋ฏธ๋ฆฌ ์ฃ„์†กํ•˜๋‹ค๊ณ  ํ•˜๊ฒ ์Œ.)


๋ฌผ๋ก  ์ด๋Ÿฐ ๊ณผ์ •์„ ๋ชฐ๋ผ๋„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„  ๋นŒ๋“œ ๋ฒ„ํŠผ๋งŒ ๋ˆ„๋ฅด๋ฉด ์ด๊ฑธ ์•Œ์•„์„œ ๋‹ค ํ•ด์ฃผ๋Š”๋ฐ,ย 

๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๋ณ„ ์ƒ๊ด€ ์—†๋‹ค. ๋นŒ๋“œ ์˜ต์…˜ ๋ณด๋ฉด ์ €๊ฑฐ๋ณด๋‹ค ๋ณต์žกํ•œ ์ปค๋งจ๋“œ๊ฐ€ ์žˆ์œผ๋‹ˆ๊นŒ ๊ทธ๊ฑฐ ๊ตฌ๊ฒฝํ•ด๋„ ๋˜๊ณ ;;


msvc ๋ง๊ณ  GNU ์ปดํŒŒ์ผ๋Ÿฌ ๊น”์•„์„œ gcc, g++ ์จ๋„ ๋˜๋‹ˆ๊นŒ ๋ง˜๋Œ€๋กœ ์ทจ์‚ฌ์„ ํƒํ•˜๋ฉด ๋จ.







๊ทธ๋Ÿผ ์ด์ œ ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์•ž์œผ๋กœ ํ•˜๊ฒŒ๋ ย ์†Œ์Šค์ฝ”๋“œ ํŽธ์ง‘์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

๋จผ์ € C์™€ C++ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ณตํ†ต๋œ ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ (์ง„์ž…์ง€์ ? ์ด๋ ‡๊ฒŒ ๋ฒˆ์—ญํ•ด์•ผํ•˜๋‚˜??)ย ์—ญํ• ์„ ํ•˜๋Š” ๋ฉ”์ธ ํ•จ์ˆ˜์ž„.


int main(void)

{

return 0;

}


์˜ ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ๋Š”๊ฒŒ C์™€ C++ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘์ง€์  ์—ญํ• ์„ ํ•˜๋Š” ๋ฉ”์ธํ•จ์ˆ˜์ž„.

๋ฆฌํ„ด๊ฐ’์ด 0์ธ๊ฑด ์—๋Ÿฌ ํ•ธ๋“ค๋ง์„ ํ• ๋•Œ?ย 0์ด ๋ฆฌํ„ด๋˜์•ผ ์ •์ƒ์ ์ธ ๋ฆฌํ„ด๊ฐ’์ด๋ผ ์ธ์‹ํ•œ๋‹ค ๋ผ๊ณ  ํ•จ.

๋‹ค์‹œ ์ •์ •ํ•ด์„œ ๋งํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ OS๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ๋๋‚ฌ์œผ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฑธ ๋ณด๋Š”๊ฑฐ.


์„ค๋ช…์ด ๋ถ€์กฑํ•œ๋ฐ, ์œผ์Œ... ์ด๋Ÿฐ๊ฑด ๋‚ด ๋‡Œํ”ผ์…œ ๋А๋‚Œ์˜ ๊ธ€๋ณด๋‹ค๋Š” Cํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฑ…์„ ์ฐพ์•„๋ณด๋ฉด ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜์˜ฌ๊ฑฐ์ž„.


๋‹ค์Œ ํŠœํ† ๋ฆฌ์–ผ๋ถ€ํ„ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ฝ”๋“œ ์“ฐ๋Š”๊ฑธ ์จ๋ณด๋ ค ํ•˜๋Š”๋ฐ, ์–ธ์ œ ์ฐ์‹ธ๊ณ  ํŠˆ์ง€ ๋ชจ๋ฅด๋‹ˆ๊นŒ ์—ฐ์žฌ ์ฃผ๊ธฐ์— ํฐ ๊ธฐ๋Œ€๋Š” ํ•˜์ง€ ์•Š๋Š”๊ฒŒ ์ข‹์„๋“ฏ.



=====================================================


๋‚ด์šฉ ์ˆ˜์ •ํ•จ.

๋Œ“๊ธ€ ๋ณด๊ณ  ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด ๋ดค๋Š”๋ฐ, ์ฒ˜์Œ ๊ณต๋ถ€ํ•˜๋Š” ์ดˆ๋ณด์ž๊ฐ€ ๋นŒ๋“œ ์˜ต์…˜๊ฐ€์ง€๊ณ  ๋™๋™๋Œˆ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํ•œ ๋ง์— ๊ทนํžˆ ๋™์˜ํ•œ๋‹ค.

์ค‘๊ฐ„์— ํ–‡๊น”๋ฆด๋งŒํ•œ ๋‚ด์šฉ๋„ ์ˆ˜์ •ํ•˜๊ณ , ์ถ”๊ฐ€ํ–ˆ์Œ.ย