MSVC, clang, GCC … C 파일을 컴파일하려고 보면 선택할 수 있는 컴파일러 종류가 많다. 과연 무슨 차이들이 있고, 그래서 난 지금 어떤 컴파일러를 이용해야 하는지 그동안 몰라서 헤맸었는데, 이번에 확실하게 정리를 한 번 해보려고 한다.

C 컴파일러의 종류

C 컴파일러 종류

컴파일러 설명
gcc - GCC(GNU Compiler Collection)의 C 컴파일러 실행 파일
- 또는 MingW 의 C 컴파일러 실행 파일
g++ - GCC의 C++ 컴파일러 실행 파일
- 또는 MingW 의 C++ 컴파일러 실행 파일
cl.exe - MSVC의 컴파일과 링크를 담당하는 실행파일
- C 와 C++ 모두를 컴파일할 수 있다.
clang - LLVM 의 C 컴파일러
clang++ - LLVM 의 C++ 컴파일러

컴파일러 ~?

컴파일러 설명
GCC - GNU Compiler Collection / GNU 컴파일러 모음
- 오픈소스 컴파일러 모음이고, 주로 C언어 컴파일러로 잘 알려져 있다.
- C, C++, 포트란 등 여러 언어도 컴파일할 수 있다.
- Unix 계열 운영체제에서 표준 컴파일러로 널리 사용됨
MSVC - Microsoft Visual C++
- 마이크로소프트가 개발한 C 및 C++ 컴파일러
- cl.exe가 실제로 MSVC의 컴파일과 링크를 담당하는 실행파일
LLVM - Low Level Virtual Machine
- 컴파일러가 만들어지는 컴파일러 인프라 프로젝트
- 여러 언어에 대한 컴파일러를 개발하고 있다.
- GCC를 대체하는 것을 목표로 한다.
MingW - GCC를 윈도우로 포팅한 것

Reference

https://www.reddit.com/r/cpp_questions/comments/x6okw7/what_is_the_difference_between_compilers/?tl=ko

Comments