์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

๊ณต์‹ ์‚ฌ์ดํŠธ

1. ๊ฐœ์š”2. ๋ผ์ด์„ ์Šค3. ๊ณต์‹ ์ง€์› ์–ธ์–ด4. ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ5. ๊ธฐํƒ€6. ๊ด€๋ จ ํ•ญ๋ชฉ

1. ๊ฐœ์š”[ํŽธ์ง‘]

IntelliJ IDEA๋กœ ๋„๋ฆฌ ์•Œ๋ ค์ง„ ํšŒ์‚ฌ JetBrains์—์„œ 2015๋…„์— ์ถœ์‹œํ•œ C/C++์šฉ ํฌ๋กœ์Šคํ”Œ๋žซํผ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ. ์ด๋ฆ„์˜ ์œ ๋ž˜๋Š” ๋ฐ”๋‹ค์‚ฌ์ž(Sea Lion)์™€ ๋ฐœ์Œ์ด ๊ฐ™์€ ์ ์„ ์ด์šฉํ•œ ๋ง์žฅ๋‚œ์ด๋‹ค. C++ ํ‘œ์ค€, libc++, Boost๋ฅผ ํฌํ•จํ•œ Native C์™€ C++๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ํžˆ์Šคํ† ๋ฆฌ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ปดํ”Œ๋ฆฌ์…˜ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•œ๋‹ค. ๋˜ํ•œ ์‹ค์‹œ๊ฐ„ ์ฝ”๋“œ ๋ถ„์„์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ๋  ๋งŒํ•œ ๋ถ€๋ถ„์„ ๋ฐ”๋กœ๋ฐ”๋กœ ์งš์–ด์ค€๋‹ค. JetBrains์˜ IDE๋‹ต๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ๊ธฐ๋Šฅ์ด ๋งค์šฐ ๊ฐ•๋ ฅํ•œ๋ฐ, ๊ฒฝ์Ÿ ์ œํ’ˆ์ธ ์ดํด๋ฆฝ์Šค CDT๋‚˜ ์‹ฌ์ง€์–ด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์™€ ๋น„๊ตํ•ด๋„ On-the-fly ๋ฐฉ์‹์˜ ๋ฆฌํŒฉํ† ๋ง๋งŒํผ์€ ํ›จ์”ฌ ๋›ฐ์–ด๋‚˜๋‹ค. ์œˆ๋„์šฐ, macOS, ๋ฆฌ๋ˆ…์Šค์— ๋ชจ๋‘ ์„ค์น˜ ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠนํžˆ VS๋‚˜ Xcode ๊ฐ™์€ ์ƒ์šฉ ์ˆ˜์ค€์˜ C/C++ IDE๊ฐ€ ์—†๋Š” ๋ฆฌ๋ˆ…์Šค ์ง„์˜์—์„œ๋Š” ๊ฐ€๋ญ„์˜ ๋‹จ๋น„ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.

ํ˜„์กดํ•˜๋Š” ์ฃผ์š” C/C++ ๋นŒ๋“œ ํ™˜๊ฒฝ(LLVM/Clang, MSVC, MinGW-w64, Cygwin, WSL)์„ ์ „๋ถ€ ์ง€์›ํ•˜๋ฉฐ, ๊ฑฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋‹จ์ถ•ํ‚ค๊ฐ€ ์žˆ๋‹ค. ํ„ฐ๋ฏธ๋„๊ณผ vim ์œ ์ €๋ฅผ ์œ„ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋„ ์ œ๊ณตํ•ด ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. ๋˜ํ•œ GitHub์™€ ๊ฐ™์€ VCS์™€์˜ ํ†ตํ•ฉ๊ฐœ๋ฐœ์„ ์ง€์›ํ•œ๋‹ค.

์„œ๋“œํŒŒํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ Fortran์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. #[1] CLion์ด Intel ์ปดํŒŒ์ผ๋Ÿฌ์— ๋Œ€์‘ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. Fortran ์ฝ”๋“œ์—์„œ๋„ CLion์˜ ์ฝ”๋“œ ๋ถ„์„ ๊ธฐ๋Šฅ์ด ์ง€์›๋œ๋‹ค. ์ง€์›ํ•˜๋Š” ๋ฒ„์ „์€ 77, 90, 95, 2003, 2008์ด๋ฉฐ, 2018๊นŒ์ง€ ๋ถ€๋ถ„์ง€์›ํ•˜๋Š” ์ธํ…” ์ปดํŒŒ์ผ๋Ÿฌ๋ณด๋‹ค๋Š” ์ง€์›์ด ๋ถ€์กฑํ•˜์ง€๋งŒ gfortran๋ณด๋‹ค๋Š” ๋งŽ์ด ์ง€์›ํ•œ๋‹ค.

2. ๋ผ์ด์„ ์Šค[ํŽธ์ง‘]

์œ ๋ฃŒ ๋ผ์ด์„ ์Šค๊ฐ€ ์žˆ์–ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ 30์ผ ์ฒดํ—˜ํŒ๋งŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ต์œก์šฉ ๋ผ์ด์„ ์Šค๊ฐ€ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋ฏ€๋กœ, ์ž์‹ ์ด ํ•™์ƒ ์‹ ๋ถ„์ด๋ผ๋ฉด ๋‹ค๋ฅธ JetBrains์˜ ์ƒ์šฉ ์ œํ’ˆ๋“ค๊ณผ ๊ฐ™์ด ์—ฐ๊ฐ„ ๋ผ์ด์„ ์Šค๋ฅผ ์ œ์•ฝ ์—†์ด ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ํ•™๊ต์— ๋‹ค๋‹ˆ๋Š” ๋™์•ˆ์—๋Š” ๊ณ„์†ํ•ด์„œ ๋ผ์ด์„ ์Šค๋ฅผ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐฑ์‹ ์€ ๋ผ์ด์„ ์Šค ๋งŒ๋ฃŒ ์ง์ „์— JetBrains๊ฐ€ ๋ฐœ์†กํ•˜๋Š” ์ด๋ฉ”์ผ ๋˜๋Š” JetBrains ์›น์‚ฌ์ดํŠธ์˜ ๋‚ด ๊ณ„์ • ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด์„œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์—…์šฉ ๋ผ์ด์„ ์Šค์™€ ๊ฐœ์ธ์šฉ ๋ผ์ด์„ ์Šค๋กœ ๋‚˜๋‰˜๋ฉฐ, ๊ธฐ์—…์šฉ ๋ผ์ด์„ ์Šค์˜ ๊ฒฝ์šฐ ์›”๊ฐ„์€ $19.9, ์—ฐ๊ฐ„์€ $199์ด๋ฉฐ, ์—ฐ๊ฐ„ ๋ผ์ด์„ ์Šค ์žฅ๊ธฐ๊ตฌ๋… ์‹œ 3๋…„์ฐจ๊นŒ์ง€ ๋งค๋…„ $40์”ฉ ๊ฐ์†Œํ•œ๋‹ค. ๊ฐœ์ธ์šฉ ๋ผ์ด์„ ์Šค๋Š” ์›”๊ฐ„์€ $8.9, ์—ฐ๊ฐ„์€ $89์ด๋ฉฐ, ๊ธฐ์—…์šฉ ๋ผ์ด์„ ์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์žฅ๊ธฐ๊ตฌ๋… ์‹œ 3๋…„์ฐจ๊นŒ์ง€ ๋งค๋…„ $18์”ฉ ๊ฐ์†Œํ•œ๋‹ค. ๋‹จ, ๋งˆ์ง€๋ง‰ ๋ผ์ด์„ ์Šค ๋งŒ๋ฃŒ์ผ๋กœ๋ถ€ํ„ฐ 6๊ฐœ์›”์ด ๊ฒฝ๊ณผํ•˜๋ฉด ํ• ์ธ์€ ๋ฌดํšจํ™”๋œ๋‹ค.

IntelliJ IDEA์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์—ฐ๊ฐ„ ๋ผ์ด์„ ์Šค๋ฅผ ๊ตฌ๋…ํ•˜๊ฑฐ๋‚˜ ์›”๊ฐ„ ๋ผ์ด์„ ์Šค๋ฅผ 12๊ฐœ์›” ์—ฐ์†์œผ๋กœ ๊ตฌ๋…ํ•˜๋ฉด ๋ฉ”์ด์ € ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณต๋ฐ›์ง€ ์•Š๋Š” ์กฐ๊ฑด์œผ๋กœ ๋ฌด์ œํ•œ ๋ผ์ด์„ ์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๋•Œ ๋ฌด์ œํ•œ ๋ผ์ด์„ ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๋ฒ„์ „์€ ์—ฐ๊ฐ„ ๋ผ์ด์„ ์Šค์˜ ๊ฒฝ์šฐ ๊ตฌ๋งค ๋‹น์‹œ์˜ ๋ฒ„์ „, ์›”๊ฐ„ ๋ผ์ด์„ ์Šค์˜ ๊ฒฝ์šฐ 1๊ฐœ์›”์ฐจ์— ๊ตฌ๋งคํ•œ ๋ฒ„์ „์ด๋‹ค.

3. ๊ณต์‹ ์ง€์› ์–ธ์–ด[ํŽธ์ง‘]

4. ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ[ํŽธ์ง‘]

์šด์˜ ์ฒด์ œ
Windows 10/8.1/8 64-bit
macOS 10.13 ์ด์ƒ
Linux GNOME ๋˜๋Š” KDE ๋ฐ์Šคํฌํƒ‘ 64-bit
RAM
์ตœ์†Œ 2GB, ๊ถŒ์žฅ 8GB
ํ•˜๋“œ ๋””์Šคํฌ
์ตœ์†Œ 2.5GB, SSD ๊ถŒ์žฅ
ํ™”๋ฉด ํ•ด์ƒ๋„
์ตœ์†Œ 1024 x 768

5. ๊ธฐํƒ€[ํŽธ์ง‘]

Windows 10๋ถ€ํ„ฐ ํƒ‘์žฌ๋œ Windows Subsystem for Linux(WSL)์˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ ํˆด์ฒด์ธ์œผ๋กœ ์—ฐ๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณ„๋„์˜ ์„œ๋“œํŒŒํ‹ฐ ์†Œํ”„ํŠธ์›จ์–ด ์—†์ด๋„ ๋„ค์ดํ‹ฐ๋ธŒ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ POSIX API์˜ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค! ๋‹จ, ๋””๋ฒ„๊ฑฐ์˜ ๊ฒฝ์šฐ ์•„์ง๊นŒ์ง€๋Š” GDB๋งŒ ์ง€์›๋œ๋‹ค.

ํˆด์ฒด์ธ์œผ๋กœ MSVC๋ฅผ ์—ฐ๊ฒฐํ•  ์‹œ, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๋กœ ๋นŒ๋“œํ•˜๋ฉด ์ƒ์„ฑ๋˜๋Š” .pdb ํŒŒ์ผ์„ ์ฝ์–ด๋“ค์ด๋Š” LLDB ๊ธฐ๋ฐ˜ ์ปค์Šคํ…€ ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ์ž์ฒด ๋””๋ฒ„๊ฑฐ๋Š” ๋ผ์ด์„ ์Šค ๋ฌธ์ œ๋กœ CLion์— ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์—†์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋˜ํ•œ MSBuild๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ VS์šฉ Make์ธ NMake๋ฅผ ์ด์šฉํ•ด ๋นŒ๋“œํ•œ๋‹ค.

macOS์—์„œ ์„ค์น˜ ์‹œ CMake๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์•„ "Hello World!"์—์„œ๋ถ€ํ„ฐ ๋ง‰ํžˆ๋Š” ์ด์Šˆ๊ฐ€ ๊พธ์ค€ํžˆ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜๋ฉด ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค.
1. ํ„ฐ๋ฏธ๋„์— xcode-select --install ์ž…๋ ฅ
2. 1๋ฒˆ์„ ์‹œ๋„ํ•ด๋„ ํ•ด๊ฒฐ์ด ์•ˆ๋  ๊ฒฝ์šฐ, Xcode๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„์— sudo xcodebuild -license๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ๋งจ ์•„๋ž˜์—์„œ agree๋ฅผ ์ž…๋ ฅํ•œ ํ›„ File - Reload CMake Project๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

2020.2 ๋ฒ„์ „๋ถ€ํ„ฐ Makefile ๋นŒ๋“œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

GDB๋กœ ๋””๋ฒ„๊น…ํ•˜๋ฉด STL ์ปจํ…Œ์ด๋„ˆ์˜ ์›์†Œ ๊ฐœ์ˆ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. LLDB ์‚ฌ์šฉ ์‹œ์—๋Š” ์ •์ƒ ํ‘œ์‹œ๋œ๋‹ค.

6. ๊ด€๋ จ ํ•ญ๋ชฉ[ํŽธ์ง‘]

[1] ๋‹ค๋งŒ CLion ์ „์šฉ์€ ์•„๋‹ˆ๊ณ , IntelliJ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” IDE๋ผ๋ฉด ์ „๋ถ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
[2] C11 ํ‚ค์›Œ๋“œ๋Š” ์ „๋ถ€ ์ง€์›
[3] ์ฝ”๋“œ ํŽธ์ง‘๋งŒ ์ง€์›
[4] ์ฝ”๋“œ ํŽธ์ง‘๋งŒ ์ง€์›