vscode에서 C/C++ 세팅하기 (쉬움)

Jaehak Kim·2023년 1월 11일
1
post-thumbnail

↑ vscode에서 저런거 할 수 있음

왜 vscode를 사용하려고 함?

C/C++을 개발을 위한 도구로 가장 많이 선택하는 IDE는 아마 비주얼 스튜디오(VS)일 것입니다.

VS의 장점을 말하자면
- 고오급 기능들
- 빠른 세팅
들을 뽑을 수 있는데
첫번째야 사실 알 바 아니고,
빠른 세팅이 가능하다는 이유로 많은 사람들이 선택하는 경우가 많습니다. 그래서 C 개발을 처음 가르칠 때 이 툴을 많이 사용합니다.

하지만 사용하다 무겁다고 느낄 때가 있습니다.
C/C++을 공부하는 사람들, PS를 즐기는 사람들에게는 그냥 빨리 켜서 코드짜고 버릴 수 있는 툴이 안성맞춤인데 말이죠.
VS는 너무 무겁습니다.

그래서 정말 가벼운 툴인 vscode를 통해 C/C++을 사용하는 것이 저의 취향입니다.

물론 윈도우 개발 할 거면 VS를 사용하는것이 바람직한 선택이라고 생각합니다.


시작

vscode가 이미 설치되어 있고, 컴파일러가 이미 설치되어 있다고 가정하고 시작합니다.
(설치 방법들은 맨 아래에 있음)

🪱주의: 경로에 한글이 포함되어 있으면 오류남

vscode를 키고 심심하니까 소스파일 하나 만들어 줍시다.

아마 c나 cpp확장자의 파일을 만들면 C/C++익스텐션 설치하라고 뜰텐데, 뜨면 그거 설치하면 되고, 안뜨면 Extensions 탭으로 가서 설치합시다.

준비는 이제 다 끝났습니다.

다른 블로그 글들이나 정보들 찾다보면 tasks.json을 따로 복사 붙여넣기 하거나 launch.json을 복사 붙여넣기 하도록 시키는 글들이 있는데,
요즘은 프로그램들이 똑똑해서 그런거 안해도 알아서 해줍니다.
의미를 모르고 쓸바엔 어설프게 따라하는 것보다 영원히 모르는게 낫다고 생각합니다.

이제 컴파일을 해봅시다.

컴파일 및 디버깅

C/C++ Extension을 정상적으로 깔았다면
사진처럼 우측 상단에 벌레 묻은 실행버튼이나 그냥 실행 버튼이 나타날 것입니다.

글자 그대로 디버그 모드로 실행하는 버튼과 디버깅 없이 실행하는 버튼입니다.
이들 중 아무거나 누르면 빌드가 시작됩니다.

아래 것 한번 눌러봅시다.

그러면 얘가 어떤 컴파일러 쓸거냐고 물어보는데 저는 gcc를 사용할 것이기 때문에
C를 컴파일 할거면 gcc.exe를 선택하고, C++을 컴파일 할 거면 g++.exe를 선택합니다.

모르겠으면 걍 g++.exe 선택하면 됩니다.

다른 컴파일러를 쓰고 싶다면 그걸 씁시다.

그러면 터미널이 열리면서 정상적으로 실행이 된 모습을 볼 수 있습니다.

이제 디버깅을 해보자

디버깅 또한 동일합니다.

변수를 만들어 값을 넣어보고
중단점도 한번 만들어 봅시다.

아까는 그냥실행 했다면, 이번엔 Debug C/C++ File 버튼을 눌러봅시다.

디버깅 탭으로 바뀌고, 위에 컨트롤 버튼들이 생겼으며 조사식도 잘 작동합니다.
F10으로 한줄씩 실행도 가능합니다.

정상적으로 출력된 결과를 볼 수 있습니다.

옆에 디버그 콘솔로 넘어가보면 리턴값 0과 함께 정상적으로 종료된 모습을 볼 수 있습니다.

여기서 멈추셔도 됩니다. 사용에 지장은 없습니다.

고오급 옵션을 조작해보자

위에서 우리가 한 일은 벌레가 묻어있는 실행 버튼 하나 누른 일 밖에 없습니다.
아까 설치한 익스텐션이 잡일들을 알아서 해줬기 때문입니다.

파일들을 보면 .vscode 폴더에 tasks.json이 생성되었습니다. 이 파일이 컴파일 옵션을 설정하는 파일입니다. 이 파일을 열어줍시다.

뭐 여러가지가 나오는데, 우리가 관심있게 볼 건 빨간색으로 표시해 둔 부분입니다.
컴파일 명령을 실행 할 때 입력할 인자를 미리 적어두는 부분입니다.
지금 적혀 있는 내용들은 대충 소스파일과 같은 이름의 실행파일을 생성한다, 소스파일과 같은 폴더에 실행파일을 생성한다 등의 옵션이 적혀있습니다.

옵션을 하나 추가해 봅시다.

g++컴파일러에서 C++의 버전을 선택하고 싶다면 아래와 같은 인자를 추가하고 저장합시다.

-std=c++17

이 옵션은 c++을 17버전으로 컴파일하도록 해주는 옵션입니다. 뒤에 숫자를 바꾸면 다른 버전으로 동작합니다.

한 번 버전을 출력해서 정상적으로 동작하는지 테스트해봅시다.

한 번 버전을 출력해서 정상적으로 동작하는지 테스트해봅시다.

17년도 버전이라고 정상적으로 출력됩니다.

tasks.json을 수동으로 만들고 싶다면...

위에서는 실행버튼을 누르고 컴파일러를 선택하면서 자동으로 tasks.json이 만들어졌습니다.
물론 수동으로 만들 수 있습니다.

처음부터 타이핑해서 작성해도 되지만 멍청해 보이니까 기본 프리셋을 이용합시다.

상단 메뉴에서 Terminal을 누르면 Configure Tasks...라는 메뉴가 있습니다.
이것을 누르면 아까와 똑같은 컴파일러 선택 화면이 나옵니다.

저는 아까처럼 g++컴파일러를 선택하겠습니다.

g++컴파일러에 맞추어 아까와 똑같은 파일이 생성된 것을 볼 수 있습니다.

에디터 설정 (Intellisens 및 헤더파일 위치)

여러개의 컴파일러가 깔려 있을 때 어떤 컴파일러의 헤더파일을 사용하고 있는지 설정해 줘야 하는 경우가 있습니다.

예를 들어 msvc와 gcc가 모두 설치되어 있는 컴퓨터에서 vscode를 통해 c코드를 작성했을 때
gcc를 이용해서 컴파일을 하더라도 msvc를 보고 자동완성을 시켜주면 상황이 웃깁니다.

위에서 작성한 코드에 사용된 printf함수의 원형이 들어있는 stdio.h파일을 열어보겠습니다.

아뿔싸! msvc의 헤더파일이 열렸습니다.

이를 해결하기 위해서 아까 설치한 C/C++익스텐션의 설정을 조정할 수 있습니다.



vscode에서는 Ctrl + Shift + p를 누르면 모든 설정을 검색할 수 있습니다.

여기서 C/C++ Select a Configuration 을 찾아줍시다.

저는 윈도우 환경이어서 Win32가 나옵니다. 다른 운영체제는 다르게 나옵니다.

아까처럼 타이핑으로 설정 할 것 아니면 위에있는 UI를 눌러서 들어가 줍시다.

컴파일러 경로가 MSVC로 설정되어있었습니다.
이것을 g++로 변경해 줍시다.

아래의 IntelliSense mode 또한 gcc로 바꿔 줍시다.

이제 돌아와서 다시 헤더파일을 열어보면?

g++ 컴파일러의 cstdio 헤더파일이 제대로 열렸습니다!

추가:vscode 설치는 어떻게 함?

https://code.visualstudio.com/

여기서 다운 받으셈

추가:컴파일러 설치 방법

컴파일러의 종류는 다양하니 검색해가면서 취향것 설치하도록 합시다.

리눅스 사용자는 GCC 컴파일러를 쉽게 설치 할 수 있을 것입니다. 알아서 찾아보세요.

윈도우 사용자는 MinGW-w64를 설치하도록 합시다.
이 글에서는 MinGW-w64를 설치하여 GCC컴파일러를 세팅합니다.

https://www.mingw-w64.org/ <-여기서 설치하면 됨

인터넷을 통해 GCC설치방법을 찾다보면 가끔 MinGW를 32비트 버전으로 설치 시키는 구시대적인 글들이 있는데, 저는 미래에서 살고 있기 때문에 64비트 버전으로 설치했습니다.

사이트에 들어가면 Download있으니 눌러줍니다.

스크롤 하다보면 윈도우 버전들이 나옵니다.

이것들 중 아무거나 깔아도 상관없긴 한데,
WinLibs.com이 멋있어 보이니까 이거로 들어갑시다.

스크롤하면 릴리즈들이 나옵니다.
릴리즈 버전이 UCRT랑 MSVCRT 두가지 있는데, 두개 차이가 궁금하면 위에 읽어보면 되고,
저는 젤 위에거 최신버전 깔아줄 겁니다.

압축파일 받아서 원하는 경로에 압축 풀어주면 끝
(저는 C:\mingw64\ 에 받아놨음)

그리고 설치 경로의 bin폴더를 환경변수로 등록해줍니다. <-중요
(저는 C:\mingw64\bin 를 경로로 등록함)

환경변수 등록 방법은 나중에 심심할 때 설명함.

profile
잊어버리지 않으려고 올림

0개의 댓글