C 언어 컴파일 과정
test.c
전처리기(preprocessor)
test.i
컴파일러(compiler)
test.s
어셈블러(assembler)
test.o
링커(linker)
test.exe
전처리 과정 (preprocessor)
- 본격적으로 컴파일하기 전에 처리할 작업들
- 외부에 선언된 다양한 소스 코드, 라이브러리 포함
- 프로그래밍의 편의를 위해 작성된 매크로 변환
- 컴파일할 영역 명시
컴파일 과정 (Compiling)
- 전처리가 완료 되어도 여전히 소스 코드
- 전처리 완료된 소스 코드를 저급 언어(어셈블리 언어)로 변환
어셈블 과정 (assembling)
- 어셈블리어를 기계어로 변환
- 목적 코드(object file)를 포함하는 목적 파일이 됨
C 언어 컴파일 과정
- 목적 파일 vs 실행 파일
- 목적 파일과 실행 파일은 둘 다 기계어로 이루어진 파일
- But, 목적 파일과 실행 파일은 다르다.
- 목적 파일은 링킹(linking)을 거친 이후에야 실행 파일이 된다
링킹 과정 (linking)
컴파일 된 목적 파일들은 독립적으로 실행될 수 없다.
따라서 목적 파일들을 서로 연관지어서 실행파일을 만든다.
실행파일이 최종적으로 완료되면 프로그램 실행이 가능하다.
'혼자 공부하는 컴퓨터 구조 및 운영체제 (복습)' 카테고리의 다른 글
CPU의 내부 구성 - 레지스터 (6) | 2024.10.10 |
---|---|
CPU의 내부 구성 - ALU와 제어장치 (6) | 2024.10.10 |
명령어의 구조 (6) | 2024.10.10 |
소스 코드와 명령어 (7) | 2024.10.10 |
0과 1로 문자를 표현하는 방법 (10) | 2024.10.10 |