대부분의 C, C++ 강의는 윈도우를 기준으로 되어 있어서 강의를 듣다가 안되는게 있으면 해결책을 찾기 쉽지 않다.
그래서 이번에 C++을 공부하면서 알아낸 맥에서 VSC로 C++을 쓸 수 있는 방법을 기록해두려 한다.
맥에서 C++을 쓰는 법
맥에서 C++을 쓸 수 있는 방법은 생각보다 단순하다. 그냥 gcc만 설치하면 된다.
하나의 소스파일을 빌드하려면 아래처럼 터미널에 작성하면 된다.
gcc main.c -o main_123
이렇게 하면 빌드가 진행되어 main_123이라는 실행파일(바이너리 파일)이 생성된다. -o 옵션을 빼면 소스파일명으로 main이라는 실행파일이 생성된다.
이 실행파일은 터미널에서 실행시킬 수 있다.
./main
빌드 = 컴파일 + 링킹
빌드란 컴파일 후 링킹을 거쳐서 실행파일을 만드는 것이다.
위에서 설명한 방법은 이를 한번에 진행하는 것이고 아래의 코드는 컴파일과 링킹을 따로 진행하는 방법이다.
먼저 컴파일은 다음과 같다.
gcc -c main.c
이렇게 컴파일을 하면 main.o라는 목적 코드(바이너리 파일)가 생성된다.
그 후, 링킹을 진행해서 실행파일을 생성한다.
gcc main.o
여러 개의 소스 파일을 빌드
지금까지는 하나의 소스파일만 빌드했다.
하지만 큰 프로젝트에서는 여러개의 소스 파일을 빌드해야 되기 때문에 이 방법에 대해서도 알아야 한다.
사실 링킹이라는 작업도 각자 컴파일된 목적 코드들을 연결시키는 작업이다.
간단히 하는 방법은 아래와 같다.
gcc main.c main2.c -o main
하지만 이렇게 하면 소스 코드를 수정할 때마다 전체 빌드를 다시 해야 하기 때문에 목적코드를 만들고 링킹을 하는 방식으로 빌드를 진행한다고 한다.
아래처럼 하면 main.o와 main2.o가 생성된다.
gcc -c main.c main2.c
이후 다음처럼 링킹을 진행하면 main이라는 실행파일이 생성된다.
gcc main.o main2.o -o main
디버깅
위에서 설명한 방법은 오류없는 소스 코드일 때만 가능한 방법이다. 소스 코드를 수정하며 디버깅을 하려면 VSC를 사용해야 한다.
(물론 다른 IDE를 이용할 수도 있지만 나는 VSC를 사용하겠다.)
VSC에서 디버깅을 실행하면 gcc와 clang 중에 선택하라고 하는데 gcc를 선택한다. (아직 둘이 어떤게 다른지 모르지만 gcc로 하는 방법은 알기에 gcc로 설명한다.)
gcc를 선택하면 task.json이라는 디버깅시 설정사항이 적힌 파일이 생성된다.
만일 소스 파일 하나만 빌드해서 디버깅하려면 아무것도 변경하지 않아도 디버깅이 되지만 소스 파일이 여러개면 task.json을 수정해야 한다.
task.json에서 args의 -g 다음을 보면 ${file}이라고 되어 있는데 이를 ${fileDirname}/*.c로 바꿔주면 해당 폴더 안에 있는 모든 c파일들을 빌드해서 디버깅할 수 있다. (-g 옵션은 디버깅 시 컴파일 할 소스코드를 넣어주는 옵션인 듯 하다.)
code-runner
code-runner는 VSC의 extension 중 하나인데 버튼 하나로 하나의 소스 파일을 빠르게 디버깅 및 실행할 수 있는 확장팩이다.
code-runner도 설정을 변경할 수 있는데 VSC의 설정(단축키 : ⌘ + ,)에서 code-runner.executor map을 검색하면 setting.json을 편집할 수 있다.
이 파일을 보면 파일 하나만 실행할 수 있게 설정되어 있다.
이를 변경해서 여러 파일을 한번에 빌드할 수 있게 할 수 있을 것 같은데 아직 몰라서 좀 더 알아봐야겠다.
'개발 관련 Tips > C , C++' 카테고리의 다른 글
디버깅시 입출력 콘솔 설정 (0) | 2022.12.23 |
---|