C/C++ extention 다운로드하기
왼쪽 사이드바의 네모 아이콘 클릭 후 C/C++ 을 검색해 extension 다운로드하기
작업폴더, C파일 만들기
작업폴더 만들기
우선 작업 폴더를 하나 만든다.
폴더 이름은 아무거나 상관없지만 한글이 들어가면 경로 오류가 생길 수 있기 때문에 영어로 쓰자!
나는 깃허브랑 연결을 해두었기 때문에 readme 파일과 ginignore 파일이 있는데 아무것도 없는 게 정상이다.
C 파일 만들기
확장자 명을 c로 해서 파일을 만든다
프로젝트 안에 폴더를 하나 더 생성하고 그 안에 소스파일을 만들었다.
json 파일 설정하기
vscode에서 C나 C++을 사용하려면 작업중인 폴더 안에 아래의 json파일 3개를 설정해야한다.
그래야 제대로 빌드와 디버깅을 할 수 있다.
- c_cpp_properties.json: 컴파일러가 설치된 경로를 설정하고, 빌드 기본 옵션들을 설정하는 파일
- launch.json: 기본 빌드 구성을 설정하는 파일
- task.json: 디버깅을 위한 구성 파일
c_cpp_properties.json 설정하기
c_cpp_properties.json은 C/C++ extention의 설정파일이다.
visual studio code에서 어떤 컴파일러를 사용할 것인지 설정을 해주어야 C/C++ extention이 task.json과 launch.json의 템플릿을 만들어준다.
F1을 클릭하여 팔레트를 연 후, C/C++ Edit Configuraions (UI) (C/C++ 구현 편집 (UI)) 를 클릭한다.
설정화면에서
순서대로
- Configuration name(구성이름): win32
- Compiler path(컴파일러 경로): c:/mingw/bin/g++.exe
- IntelliSense: gcc-x64
- C standard: gnu11
- C++ standard: gnu++14
로 설정하고 나머지는 다 그대로 둔다.
설정이 끝나면 .vscode 폴더 안에 c_cpp_properties.json 파일이 생성된 것을 볼 수 있다.
tasks.json 파일 생성 및 설정하기
C파일을 열어두고(반드시 !!!) Ctrl + Shift + B 버튼을 누른다
아래와 같은 화면이 뜨면 C/C++: g++.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}",
"-g",
"-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}",
"-g",
"-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": {
"kind": "build",
"isDefault": true
},
"detail": "디버거에서 생성된 작업입니다."
}
]
}
launch.json 파일
c파일을 열어둔 상태에서 run(디버그) > add configuration(구성 추가)
C++ (GDB/LLDB) 선택
launch.json 파일이 만들어진다.
코드도 수정해주자.
{
"version": "0.2.0",
"configurations": [
{
"name":"(gdb)시작",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "gdb에 자동 서식 지정 사용",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
결과화면!
이제부턴 C언어 공부한 것 깃허브에 올리고, 얼른 자료구조 공부해야지!
'일상 > 공부' 카테고리의 다른 글
[ C언어 ] 문장, 블록, 주석처리하기 (1) | 2024.01.12 |
---|---|
[ C 언어 ] main함수와 출력 / perfect C 프로그래밍 연습 (1) | 2024.01.09 |
[ C언어 ] vscode에서 C언어 사용하기 1탄 - window (0) | 2024.01.09 |
.gitignore 작성하기 (1) | 2024.01.09 |
기계어, 어셈블리어, 프로그래밍 언어, 컴파일러, 어셈블러 (0) | 2024.01.07 |