๋ค๋ค ์์๋ ์๊ณ , ๋ชจ๋ฅผ์๋ ์์ง๋ง, 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
์ด ๋งํฌ๋ก ๊ฐ์ ๋ค์ด ๋ฐ์.
(๋นจ๊ฐ๋ค๋ชจ๋ฅผ ์ฒดํฌํ์.)
๋น์ฃผ์ผ ์คํ๋์ค๋ฅผ ๊น๊ณ ์ผ๋ จ์ ์ค์น ๊ณผ์ ์ ๊ฑฐ์ณค์ผ๋ฉด 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ํ๋ก๊ทธ๋๋ฐ ์ฑ ์ ์ฐพ์๋ณด๋ฉด ์ ํํ๊ฒ ๋์ฌ๊ฑฐ์.
๋ค์ ํํ ๋ฆฌ์ผ๋ถํด ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฝ๋ ์ฐ๋๊ฑธ ์จ๋ณด๋ ค ํ๋๋ฐ, ์ธ์ ์ฐ์ธ๊ณ ํ์ง ๋ชจ๋ฅด๋๊น ์ฐ์ฌ ์ฃผ๊ธฐ์ ํฐ ๊ธฐ๋๋ ํ์ง ์๋๊ฒ ์ข์๋ฏ.
=====================================================
๋ด์ฉ ์์ ํจ.
๋๊ธ ๋ณด๊ณ ๊ณฐ๊ณฐํ ์๊ฐํด ๋ดค๋๋ฐ, ์ฒ์ ๊ณต๋ถํ๋ ์ด๋ณด์๊ฐ ๋น๋ ์ต์ ๊ฐ์ง๊ณ ๋๋๋ ํ์๊ฐ ์๋ค๊ณ ํ ๋ง์ ๊ทนํ ๋์ํ๋ค.
์ค๊ฐ์ ํ๊น๋ฆด๋งํ ๋ด์ฉ๋ ์์ ํ๊ณ , ์ถ๊ฐํ์.ย
mingw๋ GNU์ปดํ์ผ๋ฌ์ ์ํจ?
๊ฑ VSํค๊ณ F5๋๋ฅด๋ฉด ์๋?
ใ ใ / mingw๋ GNU ๋ง์.
dd/ ๋ณธ๋ฌธ์๋ ์๋ฏ์ด ์ปค๋งจ๋๋ผ์ธ ์ฐ๊ธฐ ์ซ์ผ๋ฉด VS ํค๊ณ F5 ๋๋ฌ๋ ๋จ.
C++ ํํ ๋ฆฌ์ผ ํ๋ค๋ฉด์ ์ปดํ์ผ๋ฌ ์ต์ ์ง์ ์๋ง์ง๋๊น ์ด๋ณด์์๊ฒ Vs ๋น์ถ์ฒํ๋ค๋ ์๊ฐ์๋ ๋์ ํ ๊ณต๊ฐํ ์๊ฐ ์๋ค
๊ฒ๋ค๊ฐ ๋น๋ ์ต์ ์ง์ ๊ณ์ ๋ง์ ธ๋๋ ๊ฒ๋ ์๋๊ณ ์ ๋ฌด๋น์ง๋ง ์ํ๋๊ฒ ์คํ๋ ค ๋ ๋์.
VS ์์ฒด๋ ์ด๋ค๊ณ ์ฃผ์ฅํ๋๋ผ๋ ๋น๋ ์ต์ ์ง์ ๋ฐฐ์ธ ์๊ฐ์ ์ธ์ด ์์ฒด์ ๋ํด ํ๋ ๋ ์๋๊ฒ ๋ฐฑ๋ฒ ๋์. makefile์ด ์ ์ ์ฆ์ ์กด์ฌ์ด๊ณ ๊ฐ๋ฐ์๋ก ๋ฐฅ๋จน๊ณ ์ฌ๋ ์ฌ๋๋ค๋ ์ ๋น๋๋ ๋๋๋ก ์ฌ๋์ด ์๊ฑด๋๋ ๊ฒ ์ต์ ์ด๋ผ๊ณ ๊น๊ณ ๊ฐ๋๋ฐ.
VS ๊ฐ ์ง๋ฆฌ์ธ๊ฑฐ์ฌ
vs๊ฐ ์ ค ์ฝ๋๋ฐ ๋ค๋ฃจ๊ธฐ - dc App
118.221/ ์ ํ์คํ ๋น๋ ์ต์ ์ ๋น ์ญํ๊ฒ ์์์ผ ํ๊ณ , ๊ทธ๋ฐ๊ฑด ์๋๋ผ๊ณ ๋ณธ๋ค. ๋๋ ๊ตฌ๊ตฌ์ ์ ๋์ํจ.
์ข์๋ค ๊ธ ์์ ํ๊ฒ ์. ๋ค์ ์ฝ์ด๋ณด๋ ์ธ๋ฐ ์๋ ์๋ฆฌ๊ฐ ๋ง๋๊ฑฐ ๊ฐ๋ค
์์ ์๋ฃ. ์ธ๋ฐ์๋ ์๋ฆฌ ์ง์ ์. ใ ใ