GNU Compiler Collections의 약자로 GNU 프로젝트의 일환으로 널리 쓰이고 있는 컴파일러.
컴파일은 코드를 다른 언어를 보다 저급 언어로 바꾸어 주는 과정을 말한다. 우리가 인식할 수 있는 C, python과 같은 코드를 기계어로 바꾸어주는 과정을 한다.
전처리 과정 ( 결과: *.i )
컴파일 단계 ( 결과: *.s )
전처리된 파일인 .i 파일로 어셈블리어 파일 .s파일을 생성한다.
gcc -S main.c2
어셈블리어(Assembly Language) - 어셈블러 언어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급언어.
어셈블 단계
gcc -C main.c
어셈블리어로 된 .s 파일을 기계어 파일(*.o) 파일로 변환한다. 이 파일을 목적 파일이라고 한다. 이 파일은 컴퓨터가 읽을 수 있는 2진수 코드가 된다.
링크 단계
작성한 프로그램이 사용하는 다른 프로그램과 다른 라이브러리를 가져와서 연결하는 과정. 실행가능한 파일을 생성한다.
gcc -o main main.c func.c
https://80000coding.oopy.io/d5fa7c87-192f-4c68-95eb-aa4af5b9dbf5