이번 포스팅에서는 Complie과정에 대해서 설명한다.
간단히 말해, Complie이란 high level language를 기계가 이해할 수 있는 low level language로 변환시켜주는 작업을 의미한다.
C 언어로 짜여진 언어가 컴파일 과정을 거치면 실행파일이 생성되는데 이 세부 과정을 설명한다.
1. 전처리기 (Preprocessor)
# 으로 시작하는 구분을 처리하는 역할을 하는 것이 전처리기이다.
일반적으로 #define, #include, #if ~ #endif 등의 구문을 처리한다.
.c -> .i
2. 컴파일러 (Complier)
고수준의 언어를 저수준 언어로 변환시켜주는 역할을 수행한다.
.i -> .s
3. 어셈블러 (Assembler)
저수준언어를 완전한 기계어로 바꿔주는 역할을 한다.
결과물로 오브젝트파일이 생성된다.
.s -> .o
4. 링커 (Linker)
여러개의 오브젝트 파일을 하나로 합치거나 라이브러리를 합쳐 주는 역할을 한다.
728x90
'Language > C' 카테고리의 다른 글
[C/C++] #if ... #elif ... #endif 할때 정의 조건문 넣는방법 (0) | 2024.04.27 |
---|---|
[C] typedef struct와 타입 전방 선언으로 인한 C2371 오류 (0) | 2023.01.03 |
[C] printf 서식문자 (0) | 2022.09.16 |
[C, C++] 가변인자를 가지는 매크로 구현하기 (0) | 2022.08.19 |
[C] ANSI Escape sequences (0) | 2021.10.04 |
댓글