728x90
반응형
SMALL

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)

컴파일 된 목적 파일들은 독립적으로 실행될 수 없다.

따라서 목적 파일들을 서로 연관지어서 실행파일을 만든다.

실행파일이 최종적으로 완료되면 프로그램 실행이 가능하다.

728x90
반응형
LIST

+ Recent posts