글을 읽기 전 컴파일러에 대해 알기 위해선 컴파일 에 대해 알아야 합니다.
관련 글은 아래 링크를 참고해 주세요.
https://gamedeveloper-programming.tistory.com/3
빌드 과정 [Build Process]
Bulid 란 ? 빌드(Build)란 여러 소스코드 파일들을 기계어로 변환 후 실행 파일 혹은 라이브러리로 만드는 과정을 의미합니다. 컴퓨터는 0 과 1밖에 모르기 떄문에 우리가 작성하는 코드들을 바로 컴
gamedeveloper-programming.tistory.com
컴파일러 란?
컴파일러(compiler, 순화 용어: 해석기, 번역기)는 '특정 프로그래밍 언어로 쓰여 있는 문서'(source code)를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 컴파일러는 고급 프로그래밍 언어를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어(예, 어셈블리 언어, object 코드, machine code)로 바꾸는 데 사용된다.
컴파일러 종류
컴파일러 종류에는 세가지의 컴파일러가 있습니다.
- GCC ( GNU C 컴파일러 )
- MSVC++ ( 마이크로소프트 비주얼 C++ 컴파일러 )
- Clang 컴파일러 ( 정확히는 컴파일러 프론트엔드 )
GCC
리눅스용 공식 C/C++ 컴파일러
C89 표준 이전인 1987년에 먼저 출시 됐었다.
유닉스, 리눅스 기반의 플랫폼에서 많이 쓰였다.
C표준을 대부분 지원합니다.
MSVC++
비주얼 스튜디오 설치 시 같이 깔리는 컴파일러, 확장자가 *.c 인 파일은 c표준으로 컴파일함
단, C99표준을 기반으로하여 컴파일을 하는데, 그마저도 C99의 문법을 지원하지도 않고 C11은
거의 지원 안하는 등. C보다는 C++ 개발에 중점을 둔 컴파일러.
윈도우 플랫폼에서 많이 쓰인다.
Clang
고대 C/C++ 컴파일 방식은 시간이 지나면서 다른 최신 컴파일 방식에 비해 한계를 보이고 있던 중,
혁신적인 LLVM 컴파일 방식이 등작했고, 이를 C 계열 언어에 도입한 것이 Clang 컴파일러이다.
이로인해 기존에는 불가능했던 것들이 가능하게 됐다.
애플이 처음에 개발했고, 오픈 소스가 되면서 마이크로소프트, 구글 같은 대기업들도 같이 개발하였다.
gcc컴파일 명령어와 거의 비슷해서 gcc로 컴파일 하던 사람들이 많이 옮겼다.
gcc보다 컴파일 속도도 빠름.
마무리
최근에는 비주얼 스튜디오와 같은 똑똑한 컴파일러가 다 알아서 해주니 컴파일러에 대해 모르더라도 코드짜는데에는 문제가 없었지만 각각의 컴파일러의 장단점을 살펴보고 알아보니 그에 맞는 코드를 짤수 있다는 생각이 들었습니다.
부족한 글을 여기까지 읽어주셔서 감사합니다.
'프로그래밍 > ETC' 카테고리의 다른 글
라이브러리 [ Library ] (0) | 2022.12.29 |
---|---|
파일 분할 (0) | 2022.12.28 |
빌드 과정 [Build Process] (0) | 2022.12.28 |