맥으로 공부하려고 Mac용 Visual Studio까지 깔았는데 맥용은 C/C++언어를 위한 통합 개발 환경이 아니라고 함. 그래서 따로 Xcode(Mac과 IOS에서 사용하기 위해 애플이 직접 개발한 IDE)나 Visual Studio Code를 사용하여야 한다고 함. 이 글은 그와 관련해서 공부한 내용을 기록.
visual studio code는 IDE라기 보다는 문서 편집기에 가까운 프로그램이라 여러가지 기능들을 추가로 설치해서 사용해야 된다.
참고 : Mac에서 C언어 개발 환경설정
만일 터미널에
Undefined symbols for architecture arm64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
오류가 뜬다면 cmd + s 를 눌러 파일을 저장한 후 다시 Run Code를 해보길 바람.
근데 필자는 Xcode는 설치만 해놓고 iterm2에서 vim을 사용할 것이다. 그게 더 익숙하고 호환성이 좋고 편하기 때문이다.
참고: 완벽한 Mac 작업환경 세팅하기 (vim, zsh, iterm)
vim은 마우스를 사용하지 않고 오로지 키보드로만 작성 가능한 편집기로써 사랑받고 있다.
필자는 iterm2를 사용한다. terminal을 사용해도 무관
iterm2 커스텀을 하는 걸 추천
vim은 자동적으로 macos에 설치 돼 있다.
최근에 vi 커맨드는 vim(vi improved) 커맨드와 동일하게 동작한다고 한다.
vi --version
vimrc파일은 홈 디렉토리에 숨겨진 파일로 존재하는 vim텍스트 편집기의 설정 파일으로, vim의 동작을 지정할 수 있게 해주는 파일이다.
https://github.com/amix/vimrc 이 분의 vimrc파일이 기본적인 세팅에 도움이 된다.
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh
Installed the Ultimate Vim configratuon successfully! Enjoy :-) 라고 하면 설치가 완료된 것이다.
아래는 참고한 글에서의 추가적으로 넣으신 설정들인데 뭐 하는 설정인지 잘 모르겠어서 알아본 설명을 추가하고, 내가 넣은 설정만 적어보았다.
cat <<EOF >> ~/.vimrc "vimrc파일에 아래 줄들을 추가
set hlsearch "vim에서 검색 시 결과 하이라이트 표시
set nu "줄 번호 표시
set autoindent "자동 들여쓰기
set scrolloff=2 "스크롤 오프셋을 2로 설정
set ts=4 "탭 간격 4로 설정
set sts=4 "들여쓰기로 사용되는 스페이스 간격을 4로 설정
set sw=1 "스크롤바 너비를 1로 설정
set autowrite "버퍼를 스위치할 때 변경된 내용들을 자동으로 저장
set autoread "외부에서 변경된 파일 감지 후 자동으로 다시 읽음
set cindent "C언어 스타일의 들여쓰기
set bs=eol,start,indent "백스페이스를 사용해 개행문자, 시작 위치, 들여쓰기 삭제
set history=256 "명령어 히스토리 크기 256으로 설정
set shiftwidth=4 "자동 들여쓰기와 시프트 명령에 사용되는 너비를 4로 설정
set showmatch "대괄호와 같이 매치되는 괄호를 하이라이트
set smartcase "검색에서 대소문자 구분
set smarttab "스마트 탭을 사용해 탭과 스페이스를 혼용
set smartindent "스마트 인덴트를 사용하여 새로운 줄을 들여쓰기(자동 들여쓰기)
set softtabstop=4 "탭이 입력될 때의 공백 수 4
set ruler "현재 커서 위치에 대한 행 및 열 번호를 화면 하단에 표시
set incsearch "검색 패턴을 입력하는 동안 매칭되는 문자열 표시
set encoding=utf-8 "UTF-8 방식을 사용하여 한글입력 시 깨지지 않게 함
EOF
아래는 복사용, 바로 터미널에 붙여넣기
cat <<EOF >> ~/.vimrc <<-EOF
set hlsearch
set nu
set autoindent
set scrolloff=2
set ts=4
set sts=4
set sw=1
set autowrite
set autoread
set cindent
set bs=eol,start,indent
set history=256
set shiftwidth=4
set showmatch
set smartcase
set smarttab
set smartindent
set softtabstop=4
set ruler
set incsearch
set encoding=utf-8
EOF
필요할 시 다른 명령어들도 추가하면 좋다!
터미널에서 입력
vi test.c #vi편집기로 test란 이름의 .c파일을 생성
gcc -o test test.c #gcc컴파일러로 컴파일, -o 옵션으로 test.c의 실행 파일 이름 test로 지정
clang test.c -o test #clang컴파일러로 컴파일, -o 옵션으로 test.c의 실행 파일 이름 test로 지정
./test #test실행 파일 실행
⭐️ gcc
는 좀 더 오래되고 많은 언어를 지원하며 호환성이 높은 컴파일러, Clang
은 gcc보다 컴파일 속도가 빠른 컴파일러이다. 원하는 컴파일러를 사용하면 된다. 해당 컴파일러들은 Xcode를 설치하면 알아서 설치 된다!
아래는 vi 편집기 내에서의 단축기
i
: 현재 커서 위치에서 삽입(insert) 모드로 전환 ➡️ 코드 작성 하면 됨Esc
: 삽입 모드에서 일반 모드로 전환 ➡️ 일반 모드가 되면 아래와 같이 vim에서 쓸 수 있는 명령어 입력하면 됨:wq
: 현재 파일 저장 후 나가기:q!
: 현재 변경사항 저장하지 않고 나가기실제로 실습을 해보는 것을 추천한다.