210110 개발일지(34일차) - 맥(Mac) OS에서 C/C++ 개발환경 세팅(VS Code 활용)

고재개발·2021년 1월 10일
1

C Language

목록 보기
4/13

C/C++ 사용에 편리한 Visual Studio는 맥OS에 지원하지 않아서.. 조금 덜 편한 VS Code를 활용하고자 한다.

목차

  1. VS Code 설치
  2. g++, lldb 설치
  3. VS Code Extension 설치
  4. C/C++ 파일 빌드 및 실행
  5. 디버깅 설정

1. VS Code 설치

공식 홈페이지에 가서 다운로드 버튼을 누르고 설치하면 된다.

2. g++, lldb 설치

g++ : C/C++ 파일을 빌드하기 위해서 필요하다.(※참고: gcc는 C언어로 만든 파일을 컴파일하기 위한 컴파일러 모음이다.)

g++ -v

터미널에서 위와 같이 입력하면, 설치된 버전이 나온다. 설치가 안돼있다면 'g++'만 입력해주면 된다.

lldb : 디버깅을 위해 필요하다.

lldb

위처럼 입력해주면 된다. 설치되어 있다면 아래와 같이 (lldb)라고 뜰 것이다. 아니면 설치가 진행될 것이다.

3. VS Code Extension 설치

VS Code 실행하여, 왼 쪽에 Extension 아이콘을 누르고 'c/c++'을 검색하여 install해준다.
이번에는 디버깅을 위한 Extension인 CodeLLDB를 깔아보자. 같은 위치에서 'codelldb'라고 검색해서 아래와 같이 설치해준다.
--------------------여기까지 설치하고, 다시 VS Code 실행하는 것을 여러 인터넷상 선배님들이 추천한다.

4. C/C++ 파일 빌드 및 실행

VS Code를 재실행한 후, 새로운 파일을 만들어 c/cpp파일을 만들어 생성해보자.

#include <stdio.h>
int main(void)
{
    printf("hello, world");
}

위와 같이 간단한 c언어 파일을 만들었고, 'hello.c'라는 이름으로 저장했다. 여기서 'command + shift + B' 버튼을 누르고 아래와 같이 따라 선택해주면 된다.
그러면, tasks.json 파일이 생성되는데 아래 코드를 복붙해주면 된다.

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C bulid for clang",
            "command": "clang",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "presentation": {
                "clear": true
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": []
        },
        {
            "type": "shell",
            "label": "C++ bulid for clang++",
            "command": "clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "presentation": {
                "clear": true
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": []
        },
        {
            "type": "shell",
            "label": "execute",
            "command": "${fileDirname}/${fileBasenameNoExtension}",
            "group": "test",
            "presentation": {
                "clear": true
            }
        }
    ]
}

그러고 나면, 이제 빌드를 할 수 있다. 다시 'command+shift+B'버튼을 누르면 우리가 만든 빌드가 나오고, 위의 것을 클릭해주면 된다.
그러면, 'hello.dSYM' 폴더와 'hello' 파일이 생성된다. 'hello.dSYM'은 심볼파일으로 디버깅할때 필요한 정보가 들어있다고 한다. 'hello'는 실행파일이다.

이제 hello파일을 실행만 시켜주면 된다. 단축키로 실행시켜주기 위해 단축키 설정을 위한 Code > 기본설정 > 바로가기 에 들어가, 아까 복붙한 곳에서 적어둔 group명 "test" 바로가기를 만들어준다. 검색창에 test를 넣고, 아래와 같이 단축키 설정을 해준다.
그럼 이제, 'command+shift+R' 버튼을 이용해 실행시킬 수 있다.

5. 디버깅 설정

아까 깔아준 codeLLDB에 대해 설정해보자.
아래처럼 왼쪽에 디버그 메뉴를 누르고, 'create a launch.json file' 버튼을 누르고 'C++(GDB/LLDB)'를 선택한다.
그리고 기본 설정에 들어가, 아래와 같이 복붙해준다.

{
    "version": "0.2.0",
    "configurations": [

        {
            "type": "lldb",
            "request": "launch",
            "name": "Lldb debug",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceRoot}"
        }
    ]
}

이제 원하는 지점에 Breakpoint를 설정하고, 디버깅을 한다!

파이팅!

주 참조 사이트

https://csdiary.tistory.com/2
https://velog.io/@cookncoding/VS-Code%EC%97%90-C-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85%ED%95%98%EA%B8%B0

profile
고재개발

1개의 댓글

comment-user-thumbnail
2021년 1월 11일

내사랑 34일간 꾸준히 잘 하고 있군!
너무 멋있어 역시 내사랑 최고야🧡🧡🧡

답글 달기