Visual Studio Code에서 C언어 컴파일 하기

Jamkris (승현)·2023년 2월 18일
3

Compile

목록 보기
2/3
post-thumbnail

컴파일러 설치 (MinGW)

MinGW 에 접속해 최신 버전을 다운로드합니다.

mingw-developer-toolkit

mingw32-base

ming32-gcc-g++

msys-base

선택

클릭 > Mark for Installation

시스템 환경변수 세팅

자신이 설치한 MinGW 설치경로 입력

기본값 : C:\MinGW\bin

컴파일러 설치 확인

g++ --version
gdb --version
아래 사진과 같게 뜬다면 정상설치 완료

VScode에서 컴파일 하는 법

.c의 확장자로 아무 파일이나 생성

#include <stdio.h>

int main(void) {
printf("Hello World!");
}

기본 출력 입력하기

빌드 작업하기

.exe 파일 생성확인

우클릭 > 통합터미널에서 열기

.\만들었던 exe파일경로 입력

단축키 설정

이젠 단축키 설정하는 법

이걸누르면 task.json파일이 생기는데 거기에 밑에 코드를 붙여넣기

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "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
                }
            }
        },
        {
            "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 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
//            "group": {
//               "kind": "build",
//                "isDefault": true
//            },
            
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
              
            // "group": {
            //     "kind": "build",
            //     "isDefault": true
            // },

            "detail": "컴파일러: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

여기서 단축키지정 밑에 코드 복붙 하셈

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

이제 ctrl + alt + c 한번누르고
ctrl + alt + v를 누르면 실행됨

난 이걸 추천 (Code Runner)

이걸 설치하고

우클릭 후 Run Code or Ctrl + Alt + N

참고 당연한거지만 ctrl + s or 저장 버튼으로 저장을 해야 실행이 됨
아래처럼 Run in terminal설정을 안하면 출력만 가능하니까 밑에 설정을 따라 하길 바람

input(scanf)을 받으려면 아래와 같이 해야 input(scanf)을 받을 수 있음

profile
Nothing Change If You Don't Try

0개의 댓글