본문 바로가기
JAVA

컴파일의 이해!

by GoodDayDeveloper 2020. 6. 25.
반응형

컴파일의 이해!

 

안녕하세요. 오늘은 컴파일에 대한 이야기를 해보겠습니다!

 

컴퓨터는 0과 1로만 모든 명령을 이해하고 실행합니다.

우리가 'A' 라는 문자를 입력하더라도 컴퓨터는 이것을 0과 1로 이루어진 이진코드로 해석합니다.

이때 'A'라는 문자를 컴퓨터가 이해할 수 있는 언어로 해석하는 것을 컴파일이라고 합니다.

 

컴파일이란!

사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸어 주는 과정입니다.

원시코드에서 목적코드(목적파일)로 바꾸어 주는 것이 컴파일이고 목적 파일을 실행파일로 바꾸는 것을 링크라고 합니다.

원시코드는 우리가 작성한 코드, 목적코드는 컴퓨터가 이해할 수 있도록 번역한 코드입니다.

컴파일과 링크의 기능을 하는 것이 컴파일러입니다.

 

컴파일 순서!

일정한 형식으로 작성된 문서를 기계어로 자동 번역하는 프로그램을 만듭니다. (컴파일러)

이후, 프로그램이 번역할 수 있도록 파일을 작성합니다. (소스 코드)

파일을 작성하고 프로그램 실행하면, 프로그램이 자동으로 번역해준 기계어 파일을 얻습니다. (소스코드 파일/ 컴파일)

소스코드의 양이 늘어남에 따라, 하나의 파일의 소스코드를 분리하고, 분리된 파일을 하나의 실행 가능한 파일들을 링크라 하고, 이때 사용되는 프로그램을 링커라고 합니다.

 

 

 

최종적으로!

소스 코드를 작성하고 파일을 저장합니다.

저장한 소스파일을 컴파일러를 이용하여 컴파일하면 목적 파일이 생성됩니다.

컴파일러가 생성한 목적파일들을 링커를 이용하여 링크하면 실행 가능한 목적 파일이 생성됩니다.

링커는 실행 가능한 목적 파일을 생성하고 컴파일러가 생성하는 파일과 링커가 생성하는 파일의 차이는 생성한 목적파일이 실행 가능하느냐에 있습니다.

컴파일과 링크 과정을 합쳐 빌드라 하고, 이때 사용되는 프로그램을 빌더라고 합니다!

 

 

반응형

댓글