R studio cpp 실행 방법

VSCode에서 C/C++을 사용하려면 별도의 조치가 필요하다. 이 단계들이 조금 번거롭기에, C를 주력으로 사용하는 사람이라면 Visual Studio를 쓰는 것을 권장한다. 설치만 하면 별도의 조치 없이 바로 사용할 수 있으나, 프로그램 조금 무거운 것이 흠이다. 나는 C/C++로 개발할 것도 아니고, 단순 알고리즘 공부 용으로 C를 사용하기 때문에 기존에 사용하던 VSCode를 계속 사용하고 싶었다. (실은 다 필요 없고 vim을 사용해도 되긴 한다. vim 최고(?!)) 서론은 이쯤 하고, 본론으로 들어가겠다. 

1. Msys2 설치

//www.msys2.org/

MSYS2

Software Distribution and Building Platform for Windows

www.msys2.org

우선 위의 웹사이트에 가서 MSYS2를 설치해야 한다. 

최소 사양은 64bit Window 7이라고 하니 참고하도록 하자. 파일 크기가 좀 큰지 까는데 시간이 좀 걸렸다. exe 설치 완료 후 실행하자. 실행하면 setup 창이 뜨는데, 딱히 따로 건드려야 하는 것은 없으니 계속 next 만 누르면 된다. Finish를 누른다고 설치가 끝난 것이 아니다. MSYS2 MSYS를 실행하도록 하자. (만약 아무것도 안 건들었다면 자동으로 Msys2가 실행될 것이다.)

짠 msys2 터미널이다

그다음 아래의 명령어를 복붙 하자. 

pacman -Syu

그럼 설치한다고 여러 문구들이 주르륵 뜰 텐데 Y를 누른 후 계속 진행하면 된다. 중간에 한 번 설치를 위해서 터미널을 종료한다는 문구가 나오는데 Y를 누르면 터미널이 종료된다.

요거 실행하면 된다

그럼 다시 MSYS2를 실행한 뒤, 설치 완료 후 이제 아래의 명령어를 실행하라.

pacman -Su

이 명령어 또한 문구들이 주르륵 뜨다가 Y/N을 누르라고 뜬다. 역시 Y를 누르고 계속 진행하면 MSYS2 설정은 끝이다. 

2. mingw64 설치

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

이제 mingw64를 설치해야 하는데, mingw64 안에 gcc, g++ 등 컴파일러들이 포함되어 있다. 그럼 뭐 여러 가지가 뜨는데 엔터 치면 문구에 나온 것들이 다 설치되는 것이고 숫자들을 골라 입력하면 그것들만 설치된다. 나는 귀찮아서 다 설치했다. 

3. 환경 변수 설정

환경 변수의 Path를 수정해야 한다. 우선 시스템 환경 변수 편집에 가자. 

시스템 속성의 고급 창이 열릴 것이다. 하단의 환경 변수를 클릭하자. 

그럼 아래와 같이 환경 변수가 뜨는데, 시스템 변수의 Path를 선택한 뒤 편집을 클릭해라. 

새로 만들기를 클릭한 뒤, msys64의 설치 경로를 복붙 하면 하면 된다. 아까 msys64를 설치할 때 따로 경로 설정을 하지 않았다면 C 드라이브에 설치된다. 각자 msys64의 설치 경로를 찾아 아래와 같이 복붙 하면 된다. 

C:\msys64\mingw64\bin

그다음 확인을 눌러 편집창을 끈다. 열려 있는 모든 환경 변수 창을 확인으로 꺼야 한다. 그냥 끄면 변경 사항이 수정되지 않는다. 유의하도록 하자. 

설치가 제대로 되었는지 확인하는 방법: 

더보기

윈도우 + r을 눌러 cmd 창 열기. 

열린 cmd 창에 아래의 명령어 입력.

gcc -v g++ -v gdb -v

설치가 정상적으로 되었다면 gcc, g++, gdb의 버전을 출력할 것이고 아니라면 해당 명령어는 실행할 수 없다고 뜬다. 

4. VSCode extension 설치

이 extension을 설치한 뒤, 작업하고 있는 c 파일이 있는 폴더를 open folder로 열라. 그다음 F1을 눌러 C/C++: Edit Configurations (JSON)을 클릭해라. 그럼 c_cpp_properties.json라는 파일이 생성될 것이다. 그 파일을 아래와 같이 수정하라. 

{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", // msys64 설치 경로에 따라 수정할 것 "C:/msys64/mingw64/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.18362.0", // msys64 설치 경로에 따라 수정할 것 "compilerPath": "C:/msys64/mingw64/bin/gcc.exe", "cStandard": "c11", "cppStandard": "c++17", // windows-msvc-x64 에서 아래와 같이 변경 "intelliSenseMode": "windows-gcc-x64" } ], "version": 4 }

5. tasks.json

똑같이 F1을 눌러 Task: Configure Task -> Create tasks.json file from template -> Others 선택, 그럼 tasks.json 파일이 생성된다. 그럼 아래와 같이 수정하면 된다. 

{ "version": "2.0.0", "runner": "terminal", "type": "shell", "echoCommand": true, "presentation": { "reveal": "always" }, "tasks": [ // c++ compile { "label": "save and compile for C++", "command": "g++", "args": [ "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": "build", "problemMatcher": { "fileLocation": [ "relative", "${workspaceRoot}" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }, // c comile { "label": "save and compile for C", "command": "gcc", "args": [ "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": "build", "problemMatcher": { "fileLocation": [ "relative", "${workspaceRoot}" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }, // 파일 실행 { "label": "execute", "command": "cmd", "group": "test", "args": [ "/C", "${fileDirname}\\${fileBasenameNoExtension}" ] }, // 파일 빌드 { "type": "cppbuild", "label": "C/C++: gcc.exe build active file", "command": "C:\\msys64\\mingw64\\bin\\gcc.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "C:\\msys64\\mingw64\\bin" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "compiler: C:\\msys64\\mingw64\\bin\\gcc.exe" } ] }

6. 단축키 설정 (생략 가능)

편의를 위해 단축키를 변경하는 것이니 이 단계는 따라 하지 않아도 된다. 

우선 ctrl+k+s를 눌러 단축키 설정 창을 열어준다. 

빌드 단축키는 ctrl+alt+c로, 실행은 ctrl+alt+r로 변경했다. 만약 변경하지 않았다면, 빌드 단축키는 ctrl+shift+b, 실행은 아마 ctrl+F5일 것이다. (빌드 단축키는 확실하나, 나는 처음부터 변경한 상태로 사용했기에 실행 단축키가 저것인지는 확실하지 않다. 아마 맞을 것이다.) 

이제 파일을 실행해보도록 하자. 만약 실행할 파일이 없다면 *.c로 끝나는 파일을 생성한 뒤 아래의 코드로 복붙 하라. 

#include <stdio.h> int main(void) { printf("Hello World!"); return 0; }

ctrl+alt+c를 눌렀더니 정상적으로 파일이 빌드되었다. 

그 상태에서 ctrl+alt+r을 눌렀더니 실행이 바로 뜬다. 

엔터를 누르니 제대로 잘 실행되는 것을 볼 수 있다. 

7. 디버깅

디버깅을 하려면 launch.json 파일이 필요하다. 

Run -> Add Configuration (영문판) / 실행 -> 구성 추가 (한글판)를 클릭, C++ (GDB/LLDB) -> (c면 gcc, c++이면 g++, 둘 다 사용한다면 g++).exe - Build and debug active file를 클릭하면 launch.json 파일이 자동으로 아래와 같이 생성된다. (나는 VSCode 언어가 영문이라 사진에 하이라이트 된 부분이 영어로 된 것이고, 만약 언어 설정이 한국어로 되어있다면 저 부분이 한국어로 생성된다. 중요한 것이 아니기 때문에 사진과 다르다고 당황하지 말자. 자동으로 생성된 상태대로 사용하면 된다.)

만약 자동으로 생성이 안된다면 아래의 코드를 복붙한 뒤 경로를 수정하라.

{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: //go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "gcc.exe - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "C:\\msys64\\mingw64\\bin", # 각자 msys64\\mingw64\\bin의 경로에 맞게 수정 "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe", # 여기도 경로에 맞게 수정 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "Set Disassembly Flavor to Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "C/C++: gcc.exe build active file" } ] }

기본적으로 디버깅 단축키는 F5이다. 만약 디버깅 단축키를 변경했다면 변경한 단축키를 누르면 된다. (나는 c extension을 사용하기 이전에 디버깅 없이 시작을 F5, 디버깅 시작을 ctrl+F5으로 변경했었다는 걸 잠시 까먹고, 계속 F5누르면서 왜 디버깅이 안되지 이러고 있다가 뒤늦게 바꿨다는 사실이 떠올라 잠시 머리를 쥐어뜯었다.)

후일담

여기까지 진행하느라 고생했다! Visual Studio를 쓰면 훨씬 편하게 코드를 실행하고 디버깅할 수 있는데, 나는 자주 쓰는 IDE가 VSCode라 어쩔 수 없이 이 고생을 했다. 만약 C를 주력으로 사용하는 사람이라면 Visual Studio를 쓰도록 하자. 

참고:

1. //jhnyang.tistory.com/430

[VSC 비주얼스튜디오코드] VScode에서 C/C++ 디버깅하는 방법, 디버깅 실행 안될 때 설정

안녕하세요 양햄찌 블로그 주인장입니다. 오늘은 VSC 에디터에서 C/C++ 디버깅하는 법에 대해 작성해보려고 해요. Visual Studio Code에서 C/C++ 디버깅 실행하기 비주얼스튜디오 코드는 디버깅 모드를

jhnyang.tistory.com

2. //codesyun.tistory.com/89

[Visual Studio Code] VS Code C / C++ 컴파일, 실행, 디버깅

보다 간단한 방법인 Code Runner 사용에 관한 글도 하단에 링크 달아두었습니다! 1. C / C++ 컴파일 컴파일러의 종류 gcc : C언어를 컴파일 할 수 있는 컴파일러 g++ : C++을 컴파일 할 수 있는 컴파일러 컴

codesyun.tistory.com

Toplist

최신 우편물

태그