컴파일 : 컴파일링이란?

👩‍💻NEO_매트릭스·2022년 1월 3일
0

CS , 취업관련

목록 보기
2/2

l. 컴파일링과 링킹
ll. 컴파일을 하는 이유
lll.컴파일러 or 인터프리터

❗️컴파일이란?

 컴파일이란 프로그래머가 작성한 소스코드르 바이너리 파일로 변환하는 과정이다. 
 소스코드를 컴파일 하여 프로그램을 만들 수 있다 .
 요즘은 배포판 공급업체에서 이미 컴파일 된 바이너리 파일들을 저장소에 관리하는 것이  
 일반적인 사항이 되었으며, 서버로 다운로드 후 바로 사용할 수 있다.

l. 컴파일과 링킹

 컴파일 과정을 컴파일링이라고 하며, 소스코드(사람이 읽을 수 있는 형태의 프로그램)를
 컴퓨터 프로세서의 언어로 변경하는 절차
 컴파일링과 함께 사용되는 과정 중 링킹이 있다. 
 프로그램들이 파일 열기를 각각 한다면 시간 낭비가 될 수 있기 때문이다.
 프로그램이 컴파일러의 출력물과 컴파일된 프로그램이 필요한 라이브러리를 연결하는데 
 링커가 사용된다. 컴파일링과 링킹의 과정을 통한 결과물이 실행파일이다.

ll.컴파일을 하는 이유

 대부분 사람에게 이해하기 쉬운 형태의 고수준 언어로부터 실행가능한 기계어 프로그램을 만들기 위해서이다. 
 좁은 의미의 컴파일러는 주로 고수준 언어로 쓰인 소스 코드를 저수준 언어(어셈블리어, 기계어 등)로 번역하는 프로그램을 가리킨다.

lll.컴파일러 or 인터프리터

 컴파일러는 전체 소스코드를 보고 명령어를 수집하고 재구성하지만
 
 인터프리터는 소스코드의 각 행을 연속적으로 분석하며 실행한다.
 인터프리터는 고레벨 언어를 바로 기계어로 번역하지 않고 중간 형태로 변환시킨 후 실행한다.
 반면 컴파일러는 고레벨 언어를 바로 기계어로 변환한다.

컴파일러가 하는일

helloworld를 작성하고 javac 명령어를 통해 helloworld.java 파일을 helloworld.class로 변환하는 것을 해볼 수 있다. -> 자바 컴파일러가 수행
java -> (javac) -> class

0개의 댓글