VS Code에 C/C++ 개발 환경 Setting (with Mac OS) - [2]

Development Feb 22, 2023
VS Code에 C/C++ 개발 환경 Setting (with Mac OS) - [1]
💡VS Code는 설치되어 있다는 가정하에 글이 작성했으니깐 설치는 포스팅은 다음에 따로 작성할게유~ 1. Compiler 설치하기 Complier 는 C/C++ code 를 build 하기 위한 program을 말한다. g++ 사용할거니까 설치 확인 부터 해보시고~ 만약 위 그림 처럼 g++ 실행이 안된다면? 설치를 하자. > brew install gcc brew 를 설치 해야한다면? 아래 링크를

지난 포스팅에서 compiler, vs code extension 설치까지 해보았다.
이어서 build까지 가능한 환경을 만들어 보고 마무리해보도록 하겠다.

Code 준비

우선은 build할 code부터 간단히 준비해보자

#include <iostream>
using namespace std;

void main(){
    cout << "hello world" << endl;
    return;
}

Build

그럼 이제 build를 해보자. ( Command + Shift + B )

상단에 위와 같은 메뉴가 나타나면 g++ 활성 파일 빌드 를 선택해준다.
그럼 빌드가 완료된다.

Build 파일 실행

빌드가 완료되면, 해당 폴더에 hello 라는 파일이 생성되어 있을 것이다.

이걸 이제 실행해보자

실행 - 'hello world'

여기까지 완료되었다면, 이제 debugger를 사용하는 방법까지만 알아보면 끝난다.

Debugging

먼저 debugging 을 실행해보자.

1. F5 를 눌러 debugger를 선택해주자. C++ (GDB/LLDB)

2. 그리고 C/C++: g++ 활성 파일 빌드 및 디버그 를 선택해준다.

3. 이후 디버그 콘솔에서 실행 내역을 확인할 수 있다.

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 활성 파일 빌드",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "디버거에서 생성된 작업입니다."
        }
    ],
    "version": "2.0.0"
}

Debugging 을 실행하면 위와 같은 내용의 tasks.json 파일이 .vscode 폴더 안에 생성된다.

이후 부터는 F5 를 누르면 바로 build 및 debugging 이 실행된다.

각 key 값의 의미는 아래와 같다.

  • tasks : 뒤에 오는 내용이 수행할 작업에 대한 내용
  • type : 실행 방식
  • label : 작업의 이름, 빌드 단축키 Command + Shift + B 를 눌렀을 때 선택할 이름
  • command : complier 위치
  • args : command의 인자(파라미터)
    "-g" - 디버깅을 위한 옵션
    "${file} - 현재 파일을 의미
    "-o" - 출력파일의 이름을 정의해줄때 사용
    "${fileDirname}/ ${fileBasenameNoExtension}" - 파일의 현재 디렉토리에 파일명.out파일을 생성
  • cwd (Current Working Directory): 현재의 작업공간
  • problemMatcher : warning이나 error를 출력하는 규칙이 다르므로 출력 형식 지정하는 곳.  "$gcc"로 설정하면, 알아서 지정된다.
  • group: [build | test]
    build - 빌드 명령어 실행시 해당 task가 실행
    test - 실행 명령을 내렸을 때 해당 task가 실행
    isDefault - true를 설정하면 빌드시 빌드 옵션을 선택하지 않고 바로 이 task를 실행

이로써 C/C++ 개발환경 setting이 마무리되었다..!

끗~

Tags