GCC(GNU Compiler Collection)
C, C++ 등 다양한 프로그래밍 언어를 지원하는 오픈 소스 컴파일러 모음
여러가지 목적으로 사용할 수 있는 강력한 컴파일러 -> 다양한 플랫폼에서 동작.
소스 코드를 기계어로 변환해주는 역할, 컴파일러 중에서도 가장 널리 사용.
gcc -o hello hello.c
예시) hello.c라는 소스코드를 컴파일하여 hello라는 이름의 실행 파일을 생성하는 gcc 명령어
preprocessor
: 소스코드 파일(.c)을 전처리된 파일(.i)로 변환하는 과정
compiler
: 전처리된 파일(.i)를 어셈블리어 파일(.s)로 변환하는 과정
Assembler
: 어셈블리어(.s) 파일을 오브젝트 파일(.o)로 변환하는 과정
Linker
: 오브젝트 파일(*.o)을 묶어 실행 파일로 만드는 과정
참고)
https://velog.io/@dhwltnoooh/gcc-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC
https://velog.io/@dhwltnoooh/gcc-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC