카테고리 없음

컴파일러 & 인터프리터

겨르 2024. 11. 12. 17:18

컴파일러와 인터프리터는 프로그래밍 언어로 작성된 코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 과정에 관여하는 프로그램.

컴파일러

- 전체 변환 : 소스 코드의 전체를 읽어 한번에 기계어로 변환함. 변환 과정을 거친 후, 생성된 기계어 코드를 실행함.

- 속도 : 컴파일 과정 자체는 시간이 걸리지만, 변환된 코드는 직접 실행되므로 실행 시간은 빠름

- C, C++, Go, Rust등의 언어가 컴파일러를 사용함

- 코드를 수정했을 때 컴파일 과정이 필요함

인터프리터 

- 한 줄씩 변환 : 소스 코드를 한 줄씩 읽어가며 바로 기계어로 변환하고 실행

- 속도 : 컴파일 단계가 없으므로 초기 시작은 빠르지만, 전체 코드 실행 시간은 컴파일러를 사용할 때 보다 느릴 수 있음. 코드를 실행할 때마다 변환 과정을 거치기 때문

- python이 대표적으로 인터프리터 방식 사용

- 코드 수정 시 컴파일 과정이 필요하지 않음

모두 고수준의 언어를 기계어로 변환한다는 공통점

 

기타) JIT 컴파일러

- JVM, .Net, V8

 

출처 인프런 CS 지식의 정석