복학을 하게되면서 대부분의 수업들이 C/C++ 위주이기 때문에 C/C++ 개발환경 세팅이 필요했다.
Windows 유저라면 아마도 거의 Visual Studio 를 사용할 것 같고, Mac에도 Visual Studio 가 있긴 하지만 Mac 에서는 C/C++ 개발이 지원 안한다. (대체 왜..?)
어쨌든 그래서, vi 에디터를 쓰지 않는다는 가정하에 mac 에서 쓸 만한 C 개발환경은
1. CLion
2. Xcode
3. VS code
정도인데, 일단 세 가지 다 조금씩 써본 결과 VS code 로 결정했다.
CLion 은 같은 회사에서 만든 IntelliJ UI 에 익숙하다면 CLion 을 한 번 써보는 것도 괜찮을듯 하다. 근데 개인적으로 IntelliJ UI 가 어딘가 불편해서 패스..
Xcode 는 일단 서드파티가 아니고 애플에서 지원해주는 IDE이긴 한데, 이것도 나와 맞지 않는 느낌이여서 패스..
결국 돌고돌아 VS code 였는데, 위에 2 개와는 다르게 IDE 가 아닌 에디터라서 가볍고 익숙했던 게 제일 컸다.
IDE 같은 경우는 기본 단위가 프로젝트이다. 그래서 매번 프로젝트를 새로 파거나, 그게 아니면 CMake 설정을 수정하거나 해야하는데 이게 좀 귀찮다. ( PS문제나, 단일C파일 개발 위주인 나 기준 )
그런데 VS code 는 별도 프로젝트 설정 없이 c 파일에서 바로 컴파일을 할 수 있는게 최대 장점이였다. 그냥 한 폴더에다가 C파일 여러 개 다 넣어놔도 상관이 없다!
다만 컴파일,빌드,디버깅 세팅 관련해서 초기세팅이 좀 필요하긴 하다.
각설하고 VS code 에서 C 개발환경 세팅을 해봅시다.
Code Runner 익스텐션은 실행 시 알아서 gcc 명령어를 수행해준다. 필수템
그 전에 gcc 가 안 깔려져있으면 설치를 해야된다. ( gcc -v
로 확인 )
편의상 Code Runner 단축키를 cmd + R 로 설정했다.
그리고 출력 창이 아닌 터미널에서 실행되도록 설정.
요렇게 해주고, Run Code 시 무슨 일이 일어나는지 함 봅시다.
gcc 로 컴파일을 하는데 -o 옵션으로 소스파일과 같은 이름의 실행파일을 생성한 다음, 해당 실행파일을 실행시킨다. ( 디렉토리에 src.c 와 실행파일인 src 파일이 생성되었음. )
일단 여기까지 하면, 컴파일과 실행 세팅은 끝났다.
which lldb
로 설치 확인. 설치 안 돼있으면 lldb
명령어로 설치
lldb 와 관련된 익스텐션도 깔아준다.
tasks.json 은 빌드 설정 파일이다.
소스파일에서 cmd + shift + B
-> C/C++ : gcc 활성 파일 빌드 의 톱니바퀴 클릭
이렇게 해주면, .vscode 폴더 하위에 tasks.json 파일이 생성될 것이다.
launch.json 은 디버깅 설정 파일이다.
소스파일에서 F5
를 누른 다음, LLDB
를 선택해준다.
그러면 launch.json 파일이 생성되는데, 이를 아래 코드를 복사해서 덮어씌워준다.
program 경로를 ${workspaceFolder}
에서${fileDirname}
로 바꿔줬는데, 워크스페이스 루트 경로 말고도 하위 폴더에서도 디버깅을 할 수 있게 하기 위함이다.
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${fileDirname}"
}
]
}
이제 세팅은 끝났고 디버깅을 해보자.
우선 소스파일에서 빌드를 해야한다.
cmd + shift + B
-> C/C++: gcc 활성 파일 빌드 클릭
그 다음, 원하는 위치에 중단점을 설정하고 F5 -> LLDB 를 눌러서 디버깅모드에 진입한다.
vscode 설정에서 Debug: Inline Values 옵션을 true 로 설정하면, 디버깅 시 변수값이 인라인으로 보인다.
감사합니다