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

[C/C++] 7. ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ(windows/linux)

by ์„œ์•„๋ž‘๐Ÿ˜ 2023. 4. 11.

C/C++์€ ์ปดํŒŒ์ผ ์–ธ์–ด์ด๋ฉด์„œ ํ”Œ๋žซํผ ์ข…์†์ ์ธ ํŠน์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ํ”Œ๋žซํผ์— ์ข…์†๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผํ•ด์„œ ์–ป์€ ์‹คํ–‰ํŒŒ์ผ์ด ๋งŒ์•ฝ ํ”Œ๋žซํผ์ด ๋‹ค๋ฅด๋‹ค๋ฉด ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํ”Œ๋žซํผ์ธ ์œˆ๋„์šฐ์™€ ๋ฆฌ๋ˆ…์Šค์—์„œ ๊ฐ๊ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

 

 

โœ… windows

 ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ๋Š” Visual Studio๊ฐ€ 90% ์ด์ƒ์˜ ์ ์œ ์œจ์„ ๋ณด์ธ๋‹ค. ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— MS๊ฐ€ ๋งŒ๋“  VS์™€ ํ˜ธํ™˜์ด ์ž˜ ๋˜๊ณ , MSVC ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— VS๋งŒ ์„ค์น˜ํ•ด๋„ ๋ณ„๋‹ค๋ฅธ ์ถ”๊ฐ€๋„๊ตฌ๊ฐ€ ํ•„์š” ์—†๋‹ค. ์ปดํŒŒ์ผ, ์‹คํ–‰, ๋ถ„์„๊นŒ์ง€ ํ•œ IDE์—์„œ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŽธ๋ฆฌํ•˜๋‹ค. ๋‹ค๋งŒ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋งŒํผ ์„ค์น˜ ์šฉ๋Ÿ‰์ด ํฌ๊ณ  ๋ฌด๊ฒ๋‹ค.

 

 

ํ˜„์žฌ๋Š” Visual Studio 2022๊นŒ์ง€ ๋‚˜์™€์žˆ๋‹ค. ์„ค์น˜๋Š” ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

https://visualstudio.microsoft.com/ko/vs/

 

Visual Studio 2022 | ๋ฌด๋ฃŒ ๋‹ค์šด๋กœ๋“œ

Visual Studio์—์„œ ์ฝ”๋“œ ์™„์„ฑ, ๋””๋ฒ„๊น…, ํ…Œ์ŠคํŠธ, Git ๊ด€๋ฆฌ, ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ฌด๋ฃŒ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

visualstudio.microsoft.com

 

์„ค์น˜ ํ›„ MS ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ž์„ธํ•œ ์„ค์น˜๊ณผ์ •์€ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์—์„œ๋„ ๋งŽ์ด ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์œผ๋‹ˆ ์ผ์ผ์ด ํฌ์ŠคํŒ…ํ•˜์ง€๋Š” ์•Š๊ฒ ๋‹ค. Visual Studio Installer์—์„œ๋Š” ๊ฐœ๋ฐœ์ž์˜ ์‚ฌ์šฉ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๊ฐ์ข… ๋„๊ตฌ๋“ค์„ ๊ณจ๋ผ์„œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ณ ๋ฅผ ์ˆ˜๋„ ์žˆ๊ณ , ์–ธ์–ด์™€ ๋ฒ„์ „์„ ์„ ํƒํ•˜๋ฉด ํŒจํ‚ค์ง€๋กœ ์„ ํƒํ•ด์„œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒจํ‚ค์ง€๋กœ ์„ ํƒํ•˜๋ฉด ๊ธฐ์กด 3GB ์ด์ƒ์€ ๊ฑฐ๋œฌํžˆ ์žก์•„๋จน๋Š”๋‹ค. Visual Studio๋Š” C/C++์ด ๋Œ€ํ‘œ์ ์ด์ง€๋งŒ ๊ทธ ์™ธ์— C# ๊ฐœ๋ฐœ์ž๋“ค๋„ ๋งค์šฐ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ, ํŒŒ์ด์ฌ๊ณผ Node๋„ ์ง€์›ํ•œ๋‹ค.

 

 

 

Visual Studio๋Š” ๋ฌด๋ฃŒ๋ฒ„์ „์ธ Community์™€ ์œ ๋ฃŒ๋ฒ„์ „์ธ Professional๋กœ ๋‚˜๋‰œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•˜๋Š” Enterprise ๋ฒ„์ „๋„ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๋‹ค.

 

 

 

๋˜ํ•œ VS์—์„œ๋„ VSCode ์ฒ˜๋Ÿผ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์ˆ˜์ฒ˜๋Ÿผ ์—ฌ๊ฒจ์ง€๋Š” VS Code๋ณด๋‹ค๋Š” ์‚ฌ์šฉ๋Ÿ‰์ด ์ ์ง€๋งŒ VS์—์„œ๋„ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋งŽ๋‹ค. ๊ทธ์ค‘ ํ•˜๋‚˜๊ฐ€ Visual Assist์ธ๋ฐ ์œ ๋ฃŒ๋กœ ์ œ๊ณต๋œ๋‹ค. ๊ฐœ์ธ ์‚ฌ์šฉ์ž๋Š” ํฌ๋ž™์„ ์“ฐ๊ธฐ๋„ ํ•˜๋Š”๋ฐ, VS๊ฐ€ ์ ์  ๋ฐœ์ „ํ•˜๋ฉด์„œ Visual Assist์˜ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋งŽ์ด ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.(๋ฌผ๋ก  VA๋„ ๋”์šฑ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์žˆ์„์ง€ ๋ชจ๋ฅธ๋‹ค. 4๋…„ ์ „์— ์“ฐ๋˜ ๊ฒƒ์ด๋ผ) VS ๋‚ด์˜ ํ™•์žฅํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค ์ค‘์—๋Š” GitHub ์—ฐ๋™ ํ”Œ๋Ÿฌ๊ทธ์ธ, Indent Guide ๋“ฑ์ด ์žˆ๋‹ค.

 

 

๋‚ด ๊ฒฝ์šฐ๋Š” Visual Studio๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋„๊ตฌ->ํ‚ค๋ณด๋“œ ์„ค์ •์„ Visual C++ 6์œผ๋กœ ๋งž์ถฐ๋†“๊ณ , ์ž์ฃผ ์“ฐ๋Š” ๋‹จ์ถ•ํ‚ค๋“ค์„ ํŽธํ•œ ๊ฒƒ์œผ๋กœ ๋งž์ถฐ๋†จ๋‹ค. ๋˜ํ•œ ํฐํŠธ ์„ค์ •์—์„œ ํฐํŠธ์™€ ์ปฌ๋Ÿฌ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”๋ฐ, Visual Studio์˜ ๊ฐ•์ ์ด ์—ฌ๊ธฐ์„œ ๋‚˜์˜จ๋‹ค. ์ •์  ๋ณ€์ˆ˜, ์ „์—ญ ๋ณ€์ˆ˜, ๋ฉค๋ฒ„ ๋ณ€์ˆ˜, ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๊ฐ๊ฐ ์ปฌ๋Ÿฌ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ IDE์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์„ธ์„ธํ•˜๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” Visual Studio ์„ค์ • ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•ด๋†“์„ ํ…Œ๋‹ˆ ํ•„์š”ํ•œ ๋ถ„๋“ค์€ ์ ์šฉ์‹œ์ผœ์„œ ์‚ฌ์šฉํ•ด ๋ณด์‹œ๊ธธ ๋ฐ”๋ž€๋‹ค. Import ๋ฐฉ๋ฒ•์€ ๋„๊ตฌ -> ์„ค์ • ๊ฐ€์ ธ์˜ค๊ธฐ ์—์„œ ์ „์ฒด ๋ฎ์–ด์“ฐ๊ธฐ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.(ํ˜„์žฌ ๋‚˜๋Š” VS 2017์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.)

 

Exported-2023-04-11.vssettings
0.26MB

 

 

 

๊ฐ„ํ˜น ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ์†”๋ฃจ์…˜ ํŒŒ์ผ(.sln)์„ ์—ด ๋•Œ SDK ๋ฒ„์ „์ด ์•ˆ ๋งž๋Š”๋‹ค๊ณ  ๋‚˜์˜ฌ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” ๊ฐ์ž ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” Visual Studio ๋ฒ„์ „(VC++ ๋ฒ„์ „)์ด ๋‹ฌ๋ผ์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์›ฌ๋งŒํ•˜๋ฉด ๋ฒ„์ „์„ ๋งž์ถ”๋Š” ๊ฒŒ ๊ฐ€์žฅ ๋งˆ์Œ ํŽธํ•˜๊ณ , ์•ˆ ๋งž์œผ๋ฉด ์ž๋™์œผ๋กœ ๋งž์ถฐ์ฃผ๋Š” ์˜ต์…˜์„ ์„ ํƒํ•˜์ž. ๋‹ค๋งŒ ์ปดํŒŒ์ผํ•˜๋ฉด์„œ ์ปดํŒŒ์ผ ์—๋Ÿฌ or ๋งํฌ ์—๋Ÿฌ๋Š” ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค.

 

 

์•„๋ž˜๋Š” Visual Studio ๋ฒ„์ „์™€ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„์ „ ํ…Œ์ด๋ธ”์„ ์†Œ๊ฐœํ•˜๋Š” ์œ„ํ‚ค์ด๋‹ค.

https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B

 

Microsoft Visual C++ - Wikipedia

From Wikipedia, the free encyclopedia Integrated development environment product by Microsoft Visual C++Developer(s)MicrosoftInitial releaseFebruary 1993; 30 years ago (1993-02)[1]Stable release14.34.31938 Written inC++[2]Operating systemWindowsPlatform

en.wikipedia.org

 

 

๋งˆ์ง€๋ง‰์œผ๋กœ C++ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ DB์—ฐ๊ฒฐ ํˆด์ธ Redis-cpp, mysql-connector, mongoDB-driver ๋“ฑ๋“ฑ, ๊ทธ๋ฆฌ๊ณ  boost, jsoncpp, websocket lib, curl ๋“ฑ์ด ์žˆ๋‹ค. ์ผ์ผ์ด ์†Œ์Šค ๋ฐ›๊ณ  ๋ฒ„์ „์— ๋งž๊ฒŒ ์ปดํŒŒ์ผ๋Ÿฌ ํ•ด์ฃผ๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€ ์—†์ด vcpkg ํˆด์„ ์“ฐ์ž. vcpkg ํˆด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ vcpkg๋ฅผ ์“ฐ์ž๋ฅผ ์ฐธ๊ณ ํ•˜์ž.

 

 

 

โœ… linux

C++ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ชจ๋‘ ์œˆ๋„์šฐ์—์„œ ์ž‘์—…ํ•  ๊ฑฐ๋ผ ์ƒ๊ฐํ•˜๋Š” ๋ถ„๋“ค์ด ๋งŽ๋‹ค. ๋ฌผ๋ก  ๊ฒŒ์ž„ ์—…๊ณ„์— ์ข…์‚ฌํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ๊ฒŒ์ž„์ด ๋Œ€๋ถ€๋ถ„ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋“ค๋„ ๋ชป์ง€์•Š๊ฒŒ ๋งŽ๋‹ค. ์„œ๋ฒ„ ์šด์˜์ฒด์ œ๋Š” ๋ฆฌ๋ˆ…์Šค ๊ณ„์—ด์ด 90% ์ด์ƒ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋“œ์‹œ ์ˆ™์ง€ํ•ด ๋†“์ž.

 

์—ฌ๋‹ด์ธ๋ฐ ๋ฆฌ๋ˆ…์Šค ์ž์ฒด๋„ C๋กœ ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ C/C++์€ ๋’ค๋Šฆ๊ฒŒ ์œˆ๋„์šฐ์™€ ์นœํ•ด์ง„ ํŽธ์ด๋ฉฐ, ๊ฐ€์žฅ ์˜ค๋žœ ์นœ๊ตฌ๋Š” ์—ญ์‹œ๋‚˜ ๋ฆฌ๋ˆ…์Šค์ด๋‹ค. ๊ฐ„ํ˜น ๊ฐœ๋ฐœ์„ ์ž˜ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๊ฐ“ ์ž…๋ฌธํ•œ ์นœ๊ตฌ๋“ค์€ ๋ฆฌ๋ˆ…์Šค๋ณด๋‹ค ์œˆ๋„์šฐ๊ฐ€ ๋จผ์ € ๋‚˜์™”๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜๋Š”๋ฐ, ๋ฆฌ๋ˆ…์Šค์˜ ์—ญ์‚ฌ๊ฐ€ ํ›จ์”ฌ ๊ธธ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ PC์˜ ํ˜•ํƒœ๋กœ ๋ณด๊ธ‰๋œ ๊ฒƒ์ด ์œˆ๋„์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์‹คํ–‰ํ•˜๋ƒ๊ณ  ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์œˆ๋„์šฐ์—์„œ๋Š” WSL(Windows Subsystem for linux)๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— MS์Šคํ† ์–ด์—์„œ ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋ฐ”๋กœ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. WSL์ด ๋‚˜์˜ค๊ธฐ ์ „์—๋Š” ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊นŒ๋‹ค๋กœ์› ๋‹ค. ๊ฐ€์ƒ๋จธ์‹ ์„ ์„ค์น˜ํ•ด์„œ ๋ฉ€ํ‹ฐ๋ถ€ํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. ๋ฉ€ํ‹ฐ๋ถ€ํŠธ๋Š” ์•„๋‹ˆ๋”๋ผ๋„ ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•ด์•ผ ํ–ˆ๋Š”๋ฐ ์„ค์น˜๋„ ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ  ์šฉ๋Ÿ‰๋„ ๋งŽ์ด ์žก์•„๋จน์—ˆ๋‹ค. WSL์ด ๋‚˜์˜ค๊ณ  ๋‚˜์„œ๋Š” Mac์œ ์ €์™€ ์œˆ๋„์šฐ ์œ ์ € ๊ฐ„์˜ ์žฅ๋ฒฝ์ด ํ—ˆ๋ฌผ์–ด์ง„ ๋Š๋‚Œ์ด ๋“ ๋‹ค.

 

 

Mac OS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ„๋“ค์€ XCode๋กœ ๋งŽ์ด ์ž‘์—…ํ•œ๋‹ค. iOS ์Šค์œ„ํ”„ํŠธ ๊ฐœ๋ฐœ๋„, C++ ๊ฐœ๋ฐœ๋„ XCode๋กœ ์ž‘์—…ํ•œ๋‹ค. XCode๋Š” ์•„์ง๊นŒ์ง€ ๊ฒฝํ—˜์ด ์—†์–ด์„œ ์ž์„ธํžˆ ๋‹ค๋ฃจ์ง„ ์•Š์ง€๋งŒ ์š”์ฒญ์ด ์žˆ๋‹ค๋ฉด ๋‹ค๋ค„๋ณผ ์˜ˆ์ •์ด๋‹ค.(๋†€๊ณ  ์žˆ๋Š” ๋งฅ๋ถ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—..)

 

 

์žก๋‹ด์ด ๊ธธ์—ˆ๊ณ  ๋ฐ”๋กœ ์‹œ์ž‘ํ•ด ๋ณด์ž. ๊ฐ€์žฅ ๋จผ์ € VS Code๋ฅผ ์„ค์น˜ํ•œ๋‹ค. VS Code๋Š” ์—ฌํƒœ๊นŒ์ง€ ๋‚˜์˜จ ํ…์ŠคํŠธ ์—๋””ํ„ฐ ์ค‘ ์ตœ๊ณ ์˜ ์—๋””ํ„ฐ๋ผ๊ณ  ๋ณธ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์–ธ์–ด๋ฅผ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์ง€์›ํ•œ๋‹ค. 

 

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

๋‹ค์šด์ด ์™„๋ฃŒ๋˜๋ฉด ํ™•์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ C++์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  C/C++ Extension Pack์„ ์„ค์น˜ํ•œ๋‹ค. C/C++ ์ปดํŒŒ์ผ๋Ÿฌ์™€ intellisense๋ฅผ ํฌํ•จํ•œ๋‹ค. ์œˆ๋„์šฐ์—์„œ๋Š” MSVC(Microsoft Visual C++) ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” gcc/g++์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฆฌ๋ˆ…์Šค์— gcc/g++์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์„ค์น˜ํ•˜์ž.(redhat ๊ณ„์—ด: yum install g++, debian๊ณ„์—ด : apt install g++)

 

์ฝ”๋“œ๋ฅผ ๋‹ค ์ž‘์„ฑํ•˜๊ณ  ๋‚˜์„œ๋Š” ํ„ฐ๋ฏธ๋„์„ ์ผœ๊ณ  g++๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ์ปดํŒŒ์ผ์„ ํ•ด๋ณด์ž. g++ -o XXXX main.cpp ์ด๋Ÿฐ ํ˜•ํƒœ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํŒŒ์ผ๋“ค์„ ๋‚˜์—ดํ•˜์—ฌ ์‹คํ–‰ํŒŒ์ผ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ ์  ์ปค์ง€๊ณ  ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค๋ฉด makefile๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. makefile์˜ ์˜ˆ์ œ๋Š” ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์ž.

 

 

VS Code๋Š” ํ™•์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ…Œ๋งˆ ์‚ฌ์šฉ์ด ํ•„์ˆ˜์ ์ด๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ™•์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”์ฒœํ•˜๊ณ  ์žˆ๊ณ  VSCode ๋‚ด์—์„œ๋„ ๋‹ค์šด๋กœ๋“œ ์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

https://www.syncfusion.com/blogs/post/top-15-vs-code-extensions-every-developer-should-know.aspx 

 

Top 15 VS Code Extensions Every Developer Should Know

This article discusses 15 Visual Studio Code extensions that developers should know to be productive in implementing applications.

www.syncfusion.com

 

 

์ปดํŒŒ์ผ์ด ๋˜์—ˆ๋‹ค๋ฉด ๋””๋ฒ„๊น…์„ ํ•ด๋ณด์ž. ๋””๋ฒ„๊น…์€ vscode์˜ launch.json์„ ์ˆ˜์ •ํ•ด์„œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•œ๋‹ค. VS Code์—์„œ gdb๋ฅผ ์‚ฌ์šฉํ•œ ๋””๋ฒ„๊ทธ ๋ฒ„ํŠผ์„ ์ฐพ์•„์„œ ์–ธ์–ด ์„ ํƒ์—์„œ C++๋ฅผ ์„ ํƒํ•˜๋ฉด ์ž๋™์œผ๋กœ launch.json์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์‹คํ–‰ํŒŒ์ผ ๊ฒฝ๋กœ์™€ ๋””๋ฒ„๊ฑฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋””๋ฒ„๊น… ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋””๋ฒ„๊น…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ž์„ธํ•œ ๊ณผ์ •์€ ์นœ์ ˆํ•œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์ž.

 

https://veggie-garden.tistory.com/36

 

[VSCode] VSCode์—์„œ C/C++ ์‹คํ–‰ ๋ฐ ๋””๋ฒ„๊น…ํ•˜๊ธฐ

VSCode์—์„œ C/C++์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ณ„๋„์˜ ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด ๋‹จ๊ณ„๋“ค์ด ์กฐ๊ธˆ ๋ฒˆ๊ฑฐ๋กญ๊ธฐ์—, C๋ฅผ ์ฃผ๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด Visual Studio๋ฅผ ์“ฐ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ์„ค์น˜๋งŒ ํ•˜๋ฉด ๋ณ„๋„์˜ ์กฐ์น˜ ์—†์ด ๋ฐ”๋กœ ์‚ฌ

veggie-garden.tistory.com

 

๋˜ํ•œ ์œ„์—์„œ ์†Œ๊ฐœํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ฆฌ๋ˆ…์Šค์—์„œ๋„ vcpkg๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. https://github.com/microsoft/vcpkg์†Œ์Šค๋ฅผ ๋ฐ›์•„์„œ ์„ค์น˜ํ•˜๊ณ  ์œˆ๋„์šฐ์™€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS

C++ Library Manager for Windows, Linux, and MacOS. Contribute to microsoft/vcpkg development by creating an account on GitHub.

github.com

 

 

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ์ž์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ SSH๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ๋จผ์ €, ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์—์„œ SSH๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ™”๋ฉด ์ขŒ์ธก ํ•˜๋‹จ์— ์กฐ๊ทธ๋งŒ ><๋ฒ„ํŠผ์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค. ์ด ๋ฒ„ํŠผ์„ ํ†ตํ•ด SSH ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œˆ๋„์šฐ์—์„œ๋Š” WSL๊นŒ์ง€๋„ ์ง€์›ํ•œ๋‹ค. ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ์„ ๋ˆ„๋ฅด๊ณ  SSH ๊ตฌ์„ฑํŒŒ์ผ์— ํ˜ธ์ŠคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋ฉด ์›๊ฒฉ์ ‘์†์ด ์™„๋ฃŒ๋œ๋‹ค. ์›๊ฒฉ ์ ‘์†์„ ํ•ด์„œ ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ GUI์ฒ˜๋Ÿผ(?) ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ค์ด๋‹ค. 

 

 

๋‚ด๊ฐ€ ๋งก๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋“ค์˜ ๋น„์ค‘์œผ๋กœ ๋ดค์„ ๋•Œ ์œˆ๋„์šฐ 30 + ๋ฆฌ๋ˆ…์Šค 70 ์ •๋„๋‹ค. ๋ชจ๋“  ๋ฆฌ๋ˆ…์Šคํ™˜๊ฒฝ ๋‚ด C++๊ฐœ๋ฐœ์€ VS Code์„ ํ†ตํ•ด ์ด๋ค„์ง€๋ฉฐ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ SSH ์ ‘์†์„ ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. VSCode ์—†์œผ๋ฉด ๊ฐœ๋ฐœ ๋ชปํ•œ๋‹ค๊ณ  ๋ณผ ์ •๋„๋กœ ์˜์กด๋„๊ฐ€ ๋†’๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค๋„ VS Code์˜ ์„ธ๊ณ„๋กœ ํ•˜๋ฃจ๋นจ๋ฆฌ ์˜ค์‹œ๊ธธ ๊ถŒ์žฅํ•œ๋‹ค.

 

 

 

์—ฌ๊ธฐ๊นŒ์ง€ ํ•ด์„œ ์œˆ๋„์šฐ์™€ ๋ฆฌ๋ˆ…์Šค์—์„œ C/C++ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด ๋ดค๋‹ค. ๋ชจ๋“  ๊ณผ์ •์„ ๋‹ค ๊ธฐ๋กํ•˜์ง„ ์•Š์•˜์ง€๋งŒ ์ฐธ๊ณ ํ•  ๋งŒํ•œ ์ˆ˜์ค€๊นŒ์ง€๋Š” ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ฐœ๋ฐœํ™˜๊ฒฝ๋งŒ ๊ผฌ๋ฐ• ํ•˜๋ฃจ๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋‚˜์—๊ฒŒ ๋งž๋Š” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ–ˆ์„ ๋•Œ์˜ ํฌ์—ด์„ ์ƒ๊ฐํ•˜๋ฉด์„œ ์ธ๋‚ด์‹ฌ์„ ๊ฐ–๊ณ  ์ง„ํ–‰ํ•ด ๋ณด์ž. 

 

 

 

์งˆ๋ฌธ์€ ์–ธ์ œ๋“ ์ง€ ํ™˜์˜^^

๋Œ“๊ธ€