새소식

C, C++/VS Code Setup

<ubuntu> VS Code, C/C++ 환경설정

  • -

패키지 시스템,  VSCode 공식문서

Step 1. Ubuntu에 C/C++ 컴파일러(GCC)설치 

더보기
우분투에 C/C++ 프로그래밍 언어를 사용하기 위해 GCC 컴파일러와 GDB 디버거를 설치합니다.
개발에 필요한 필수 패키지를 설치한다고 생각하시면 됩니다.

 

 

 

 

01. 데비안 패키지 리스트 업데이드 && 업그레이드

sudo apt-get update && sudo apt-get upgrade -y

 

 

 

 

02. gcc, gdb 설치 

sudo apt-get install build-essential -y
build-essential 패키지는 데비안 계열의 리눅스 플랫폼에서 개발에 필요한 패키지를 묶어 놓은 것을 의미합니다. build-essential 패키지를 설치하면 GCC, G++ 등 리눅스 개발에 필요한 도구를 설치합니다.

 

 

 

 

03. gcc 설치 확인

gcc -v

 

 

 

 

 

04. gdb 설치 확인

gdb -v

 

 

Step 2. Visual Studio Code 설치

더보기

01. 아래처럼 Snap 으로 VSCode 가 설치했다면, VSCode에서 "한글 입력 불가" 이슈가 발생합니다.

 

 

아래 명령어를 사용해 Snap 으로 설치한 VSCode를  제거합니다.

sudo snap remove code

 

 

 

 

 

02. Download Visual Studio Code 에서 .deb 패키지 다운로드합니다.

 

 

 

 

 

03. 다운받은 .deb 파일을 설치한다. 파일명은 VSCode 버전에 따라 다를 수 있습니다.

 

sudo dpkg -i <다운받은 VSCode 파일 이름>

또는

sudo dpkg -i code_*

 

 

 

 

 

(참고) 설치 중 의존 라이브러리가 없다는 메시지가 나오면 아래 코드를 실행한다.

sudo apt -f install

 

 

 

Step 3. Visual Studio Code - Extention 설치

더보기

01. VS Code 한국어 설정

 

VS Code 한국어 설정

1. 한국어 팩 설치 2. VS Code 재실행 3. 언어 변경 확인   VS Code 언어 선택 >configure display language

basiclike.tistory.com

 

 

 

 

02. VS Code → Extentions  C/C++ Extension Pack 

 

 

 

 

 

03. VS Code 를 종료하고, 다음 단계를 진행하세요.

 

 

더보기

01. C/C++ 소스코드를 작업할 프로젝트 폴더 선택합니다.

 

 

 

 

 

02. C/C++ 테스트 코드를 생성합니다.

 

 

HelloWorld.c 테스트 코드

#include <stdio.h>

int main()
{
    printf("Hello, C World!\n");
    
    printf("__STDC_VERSION__ = %ld\n", __STDC_VERSION__);
    
    return 0;
}

 

HelloWorld.cpp  테스트 코드

 

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, C++ World!" << endl;
    std::cout << "__cplusplus = " << __cplusplus << std::endl;

    return 0;
}

 

더보기
C/C++ 의 버전 및 사용할 컴파일러 등을 설정합니다.
C/C++: 구성 편집(UI) 를 사용해 설정 정보가 담긴 JSON 파일을 생성할수도 있습니다.

 

 

 

 

01.  구성 편집(JSON) 실행

 

 Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.

 아래 키워드로 검색하여 < C/C++: 구성 > 을 찾아 선택합니다.

 < 구성 편집(JSON) > 을 선택합니다.

 

 

 

 c_cpp_properties.json 파일에 붙여넣기

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            
            // 아래는, 사용 환경과 필요 표준에 맞게 변경
            "cStandard": "c17", 
            "cppStandard": "gnu++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

 

더보기

01. 기본 빌드 작업 설정 파일 생성

이전 단계에서 테스트 코드를 빌드 했다면, 아래처럼 tasks.json 파일이 기본값으로 생성됩니다.
tasks.json 파일이 없다면,  Ctrl + Shift + P → Tasks: Configure Default Build Task 입력 후 선택합니다.

 

Tasks: Configure Default Build Task

 

 

 

 

 

 

 

02. task.json 파일에 아래 json 코드로 된 빌드 설정을 붙여 넣습니다.

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        //g++ c++ compiler config. part
        { 
            "type": "cppbuild",
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
				// (opt) 특정 컴파일러 버전 선택
				//, "-std=gnu++11"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "group": "build",
			// (opt) 선택 없이, g++ 컴파일러 자동 실행시 선택
            //"group": {
            //    "kind": "build",
            //    "isDefault": true
            //},
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "detail": "Task generated by Debugger."
        },
        //gcc c compiler config. part
        { 
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "-g",
                "${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
                }
            }
        },
        // 바이너리 실행(Ubuntu)
        {
            "label": "execute",
            "command": "${fileDirname}/${fileBasenameNoExtension}",
            "group": "test"
        }
    ]
}

 

Step 7. 컴파일, 실행 테스트

더보기

01.  [ 빌드, 실행 ]  단축키를 변경합니다. 

 

 Ctrl + Shift + p 단축키를 눌러서 VS Code 명령어 팔렛을 활성화합니다.

 아래 키워드로 검색하여 선택합니다.

 

open keyboard shortcuts

 

 

 

 

 

 

 02. 빌드, 실행 단축키 변경

 

빌드: ctrl+alt+c 단축키

실행: ctrl+alt+r 단축키

 

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

 

 

 

 

03. 기본 터미널 선택

 

 

 

 

 

04. VS Code 재실행

설정을 적용시키기 위해 VSCode를 재실행합니다.

 

 

Step 8. C/C++ 빌드, 실행 테스트

더보기

01. C 빌드 테스트

 

① C 언어로 작성된 소스코드에서 Ctrl + Alt+ C 단축키를 눌러서 빌드를 실행합니다.

 Step 6. 에서 작업한 Task.json 파일 설정 중, save and build for C 를 선택합니다.

③ 설정한 빌드 명령어가 동작하여 실행 파일을 생성합니다.

 언어로 작성된 소스코드를 빌드하여 실행 파일이 생성됩니다.

 

 

C표준 __STDC_VERSION__ C++ 표준 __cplusplus
c99, gnu99  199901 C++98 199711L
c11, gnu11  201112 C++11 201103L
    C++14 201402L
c17, gnu17 201710 C++17 201703L
    C++20 202002L
    C++23 TBD (202100L)

 

C++ 컴파일러 호환 링크

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.