무민이의 반반무많이

C언어 컴파일(Compile) 과정 본문

C/Basic

C언어 컴파일(Compile) 과정

M00min 2016.07.10 01:31

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)


컴파일(Compile)이란 프로그래머가 작성한 소스를 컴퓨터가 이해하기 쉬운 기계어나 어셈블리어로 변환해주는 과정을 말하며, 변환해 주는 역할을 담당하는 것을 컴파일러(Compiler)라고 한다.

전체적인 컴파일(Compile)과정은 아래 그림과 같다.



컴파일 과정은 그림처럼 소스파일에서 전처리 과정을 통해 전처리가 된 소스파일을 생성하고, 그 소스파일을 컴파일해서 목적 파일을 생성한다. 그리고 링크 과정을 통해 실행 파일을 생성하고 나면 모든 컴파일 과정이 완료된다.

이제부터 각 과정에 대해 자세히 알아보자.


소스파일

- 프로그래머가 작성한 파일(.c)을 말한다. 


 전처리

- Pre-processing이라고 하는데, 말 그대로 미리 처리한다는 뜻이다. 소스 파일을 기계어 파일로 만들기 위한 컴파일 과정 이전에 제일 먼저 수행하는 단계이다. '#' 으로 처리된 부분을 전처리 구문이라 하는데, 소스 파일에 대해 매크로 치환환, 조건부 컴파일, 파일 첨부 등의 작업을 수행한다.

 컴파일

- 프로그래머가 작성한 소스를 컴퓨터가 이해하기 쉬운 기계어나 어셈블리어로 변환 해주는 과정이다. 컴파일을 하면 기계어로 변환된 소스가 오브젝트 파일(.obj)에 저장된다.


 링크

- 모든 오브젝트 파일을 합쳐서 하나로 연결해주는 역할을 한다. 링크의 역할을 해주는 것을 링커(Linker)라고 하는데, 컴파일 되어 나온 오브젝트 파일(.obj)과 헤더파일(Header File)에 구현된 함수들을 묶어 실행파일(.exe)로 만든다.

'C > Basic' 카테고리의 다른 글

C언어 출력 함수 printf  (1) 2016.07.11
C언어 제어 문자(Escape Sequence)  (2) 2016.07.11
C언어 Hello World  (0) 2016.07.10
C언어 컴파일(Compile) 과정  (0) 2016.07.10
C언어의 특징  (0) 2016.07.10
C언어의 역사  (0) 2016.07.10
0 Comments
댓글쓰기 폼