컴파일러와 인터프리터?

BOONG GI JUNG·2023년 11월 25일
0

IT

목록 보기
1/9

컴파일러와 인터프리터?

컴파일러(Compiler)와 인터프리터(Interpreter)는 프로그래밍 언어를 실행하는 데 사용되는 두 가지 주요 접근 방식입니다. 각각의 방식은 프로그램 코드를 실행 가능한 형태로 변환하는 방식에 차이가 있습니다.

컴파일러(Compiler)

1.변환 과정: 컴파일러는 소스 코드 전체를 읽고, 이를 기계어 또는 중간 코드로 변환합니다. 이 변환 과정을 "컴파일"이라고 합니다.
2.실행: 변환된 코드는 실행 가능한 형태로 저장되어, 이후 여러 번 실행할 수 있습니다. 프로그램이 처음 실행될 때 컴파일이 발생하며, 그 후에는 이미 컴파일된 코드를 실행합니다.
3.속도: 실행 시간에 있어서 일반적으로 인터프리터에 비해 빠릅니다. 컴파일된 코드는 이미 기계어에 가까운 형태이므로 직접 실행 가능합니다.

인터프리터(Interpreter)

1.변환 과정: 소스 코드는 한 줄씩 읽고 즉시 실행됩니다. 변환 과정이 없으며, 소스 코드를 실행 가능한 형태로 변환하지 않습니다.
2.실행: 프로그램이 실행될 때마다 소스 코드가 해석되고 실행됩니다. 따라서 매번 실행할 때마다 해석 과정이 반복됩니다.
3.속도: 실행 시간에 있어서 컴파일러에 비해 상대적으로 느립니다. 각 줄이 실행될 때마다 해석이 필요하기 때문입니다.
간단히 말하면, 컴파일러는 전체 코드를 변환하여 실행 가능한 파일을 생성하고, 이후에는 그 파일을 실행하는 반면, 인터프리터는 코드를 한 줄씩 읽어들여 즉시 실행합니다.

JIT?

최근에는 이 두 가지 방식을 혼합한 형태인 "JIT 컴파일러(Just-In-Time Compiler)"도 등장했습니다. JIT 컴파일러는 프로그램을 실행하는 도중에 실시간으로 일부 코드를 컴파일하여 기계어로 변환하고 이를 실행합니다.

profile
새로운 기술을 즐기는 라이프 하루에 한번 포스팅하기!

0개의 댓글