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

2021. 1. 13. 00:09·Lanuage/C++
728x90

보다 간단한 방법인 Code Runner 사용에 관한 글도 하단에 링크 달아두었습니다!

 

 

1. C / C++ 컴파일

컴파일러의 종류

  • gcc : C언어를 컴파일 할 수 있는 컴파일러
  • g++ : C++을 컴파일 할 수 있는 컴파일러

 

컴파일러 준비

터미널 > 기본 빌드 작업 구성

사용하는 언어에 따라 gcc 또는 g++을 선택합니다.

둘 다 사용하는 폴더의 경우 g++을 사용하면 좋습니다.

 

Ctrl +  Shift + B를 누르면 '빌드 작업을 찾을 수 없다'는 메시지와 함께 빌드 작업 구성을 선택할 수 있습니다.

이어서, '템플릿에서 tasks.json 파일 만들기'를 선택합니다.

그리고 'Others 임의의 외부 명령을 실행하는 예'를 선택하면 tasks.json 파일이 만들어집니다.

 

tasks.json 파일의 내용을 아래와 같은 내용으로 교체합니다.

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        //C++ 컴파일
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            //컴파일시 에러를 편집기에 반영
            //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    // The regular expression. 
                    //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        //C 컴파일
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            //컴파일시 에러를 편집기에 반영
            //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    // The regular expression. 
                    //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        // // 바이너리 실행(Windows)
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        }
    ]
}

 

이제 단축키를 설정하여 C / C++ 컴파일을 간편하게 실행할 수 있도록 하겠습니다.

파일 > 기본 설정 > 바로가기 키

 

다음 버튼을 눌러 keybindings.json 파일을 열어줍니다.

 

아래와 같은 내용으로 교체해주고 저장합니다.

[
    // 컴파일
    {
        "key": "ctrl+alt+c",
        "command": "workbench.action.tasks.build"
    },
    // 실행
    {
        "key": "ctrl+alt+r",
        "command": "workbench.action.tasks.test"
    }
]

 

컴파일

코드 파일로 돌아가서 빌드 단축키( Ctrl + Alt + C)를 누르고 C 또는 C++을 선택합니다.

다음 사진과 같이 터미널 창을 통해 빌드된 내용을 확인할 수 있으며,

에러가 발생했다면 에러 표시 또한 터미널에 나타납니다.

 

 

2. C / C++ 파일 실행

실행 단축키( Ctrl + Alt + R)을 누르면, 실행하는 'execute' 메뉴가 나타나고 이를 선택합니다

다음과 같이 터미널 창을 통해 결과를 확인할 수 있습니다!

 

3. C / C++ 디버깅

launch.json 생성 및 설정

실행 > 구성추가 메뉴로 진입한다.

선택화면에서 'C++ (GDB/LLDB)'를 선택하고 'g++.exe build and debug active file'을 선택한다.

다음과 같이 launch.json 파일이 자동으로 생성된다.

만약 printf, cout 과 같은 명령어들이 실행되는 것을 콘솔화면에서 확인하고 싶다면

externalConsole 값을 true로 설정해주면된다.

 

 

디버깅

메뉴에서 실행 > 디버깅 시작 을 선택하거나

F5를 누르면 디버깅을 시작할 수 있다.

 

 

중단점 설정

중단점을 설정함으로서,

디버깅을 중단점까지 진행하고, 디버깅을 중단점부터 시작할 수 있다.

 

원하는 위치에 마우스 좌클릭을 하면 중단점을 설정할 수 있다.

 

중단점에서 디버깅을 시작할 경우, 그 시점부터 단위 실행이 가능하다.

단위 실행을 통해 런타임 에러가 발생하는 지점을 찾을 수도 있다.

 

중단점을 우클릭하여 '중단점 편집'을 선택하면 중단점에 조건을 걸 수 있다.

조건문, 반복문에 중단점을 설정한 경우, 조건에 해당하는 시점에 중단되도록 설정할 수 있다.

 

 

 

 

💁 보다 간단한 방법인 Code Runner를 사용하는 방법도 업로드 했습니다!

https://codesyun.tistory.com/134

 

[C/C++] VS Code에서 Code Runner로 C / C++ 빌드 및 실행하기

Visual Studio Code에서는 Visual Studio과 같은 IDE와 달리 단순하게 빌드와 실행을 하기 어렵습니다 따라서 Code runner (코드 러너) 라는 확장 프로그램을 통해 편하게 실행할 수 있습니다! Code Runner가 지원

codesyun.tistory.com

 

 

 

 

 

 

728x90
저작자표시 (새창열림)

'Lanuage > C++' 카테고리의 다른 글

[C/C++] VS Code에서 Code Runner로 C / C++ 빌드 및 실행하기  (2) 2021.07.14
[C++] 동적 할당 new와 delete 사용, 메모리 누수  (0) 2021.01.13
'Lanuage/C++' 카테고리의 다른 글
  • [C/C++] VS Code에서 Code Runner로 C / C++ 빌드 및 실행하기
  • [C++] 동적 할당 new와 delete 사용, 메모리 누수
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (338) N
      • Web (8)
      • Java (7)
      • Spring (18) N
      • Git (16)
      • MyBatis (1)
      • HTML & CSS (14)
      • JavaScript (11)
      • DevOps (4)
      • Cloud (8)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (1)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    CodeUp 기초 100제
    Python
    MySQL
    web
    CSS
    알고리즘
    HTML
    자료구조
    Tistory
    c++
    BOJ
    SourceTree
    Programmers
    clean code
    C
    java
    단계별로 풀어보기
    git
    codeup
    db
    VS Code
    github
    oracle
    aws
    Cloud
    myBatis
    웹
    spring
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[Visual Studio Code] VS Code C / C++ 컴파일, 실행, 디버깅
상단으로

티스토리툴바