test.c
|
V
1. 전처리기
2. 컴파일러
3. 어셈블러
4. 링커
|
V
test.exe
1. 전처리 과정
test.c → test.i
- 본격적으로 컴파일 하기 전에 처리하는 작업
- 외부에 선언된 다양한 소스코드, 라이브러리를 포함
- 프로그래밍의 편의를 위해 작성된 매크로 변환
- 컴파일할 영역 명시
2. 컴파일 과정
test.i → test.s
- 전처리가 완료되어도 여전히 소스코드 이므로,
해당 코드를 저급 언어(어셈블리 언어) 로 변환하는 과정
3. 어셈블 과정
test.s → test.o
- 어셈블리어를 기계어로 변환
- 목적 코드를 포함하는 목적 파일이 됨
4. 링킹 과정
test.o → test.exe
- 목적 파일을 실행파일로 변환하는 과정
- 목적 파일을 실행하기 위해선 링킹을 거처 실행파일로 변환시켜야 한다.
- 복수의 목적 파일 (객체들) 을 연결해 서로 참조할 수 있게 하는 작업