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