본문 바로가기
Today_I_Learned

[Visual Studio Code] 내가 찾고 따라하는 c언어 빌드 및 디버깅

by bestchoco 2022. 7. 4.

0. 기초 프로그램 설치 https://www.msys2.org/ 

---
Installation
Download the installer: msys2-x86_64-20220603.exe
---
파일 다운로드 후 Next -> 설치 3~5분 소요 -> Run MSYS2 64bit now 체크표시 후 Finish

1. MSYS2 프로그램이 실행된 것을 확인, 터미널에 아래와 같이 입력

pacman -Syu

(중간에 설치하시겠습니까? 물으면 y 입력)

2. 중간에 창이 꺼짐, 작업 표시줄에서 돋보기(검색) 클릭 - MSYS2 MSYS 검색 후 프로그램 실행, 터미널에 아래와 같이 입력

pacman -Syu

(중간에 설치하시겠습니까? 물으면 y 입력)

3. 모든 터미널의 작업이 끝나고 $표시가 뜨면 아래와 같이 문장 입력

pacman -Su

4. 다시 모든 터미널의 작업이 끝나고 $표시가 뜨면 아래와 같이 문장 입력

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

(중간에 ~~default=All 이라는 문장과 함께 멈춰있으면 키보드의 enter 버튼 누르기)

5. 다시 모든 터미널의 작업이 끝나고 $표시가 뜨면 프로그램 닫기

6. 환경변수 세팅
C:\msys64\mingw64\bin

7. 정상 설치 여부 cmd로 확인

작업표시줄에 위치한 돋보기 클릭 - cmd

gcc -v
g++ -v
gdb -v

파일 탐색기 - 폴더 생성
(내 PC -> 로컬디스크 c:\ -> 폴더 생성(_myCode 생성, _myCode 폴더 안에 practice 폴더 생성))

8. Visual studio code 실행
- 새 창
- 폴더 열기(아까 만든 _myCode 폴더 안에 practice 폴더 생성))

9. 코드 생성 (~~~.c)
   
10. Extensions - c/c++ 설치

11. F1 버튼 클릭 - C/C++: 구성 편집(UI)

구성 이름 - Win32

컴파일러 경로 : C:/msys64/mingw64/bin/g++.exe

IntelliSense 모드: gcc-x64 (legacy)

C표준 : C17

C++ 표준: C++17

=>11번 과정을 거치면 .vscode 폴더에 c_cpp_properties.json파일 생성 확인

12. 아까 생성해둔 .c 파일에서 상단에 위치한 "터미널" - "작업 구성" -> 탬플릿에서 tasks.json 파일 만들기 - Others 클릭

13. .vscode 폴더에 tasks.json 파일 생성된 것을 확인, 아래의 문장을 그대로 덮어쓰기

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

14. 아까 생성해둔 .c 코드에 테스트 코드 입력 후 ctrl + f5 누르면 아래의 터미널에서 결과값 확인 가능.
#include <stdio.h>

int main()
{
    printf("hello, world!\n");
    int a = 0;
    int b = 2;
    int c = 0;
    b = b+3;
    a = a+1;
    return 0;
}

여기서 디버깅 (각 변수 값의 세부 사항 또는 에러 확인 필요 시) 실행은
1,2,3,4,5, ... 숫자와 탐색기의 파일 표시와의 빈틈 클릭 시 빨간 동그라미 원 활성화 확인 가능(다시 누르면 사라짐)
=> 그 다음 F5 키 누르면 옆에 세부적으로 값의 변동사항 확인 가능.

15. .cpp 파일 생성( c++)의 경우 15번과 동일하게 실행 및 디버깅 가능. (테스트 코드)
#include <iostream>

using namespace std;

int main()
{
    int a = 4;
    int b = 3;
    int c = a + b;

    cout << a << " + " << b << " = " << c << endl;

    return 0;
}

// 아래는 글에서 제외함
10-1. GitHub 연동 
10-1-1 GitHub 회원가입
10-1-2 Git 설치
10-1-3 VSCODE - GitHub Repositories

10-2. GitHub에 게시 (private 말고 publish 선택)
10-2-1 Git Graph
10-2-2 Git Graph 사용법
16. (나의 GitHub Repositories에 분기, 커밋, 푸시하는 방법)


'Today_I_Learned' 카테고리의 다른 글

240523 (목)  (0) 2024.05.23
20240521 (화)  (0) 2024.05.21
오늘의 공부 20230614 수요일  (0) 2023.06.14
230402 (일)  (0) 2023.04.03
[FTP] 200,227 Entering Passive Mode 에러 해결 방법 (iptime 공유기 기준)  (0) 2022.02.04