본문 바로가기
Frontend/Javascript

컴파일러, 인터프리터

by 우보틀 2022. 4. 1.

컴파일러는 뭐고 인터프리터는 뭔가요?

 

컴파일러와 인터프리터는 고급언어로 작성된 소스코드를 기계어로 번역한 후에 프로그램을 실행하는 것입니다.

 

이 둘은 아래와 같은 차이점을 가지고 있습니다.

 

컴파일러

파일을 한 번에 번역합니다. 번역후에는 실행파일이 생성됩니다. 

이후의 실행에는 생성된 실행파일을 가지고 실행하게 됩니다.

모든 파일을 한 번에 번역하여야 하므로 번역 과정은 인터프리터에 비해 상대적으로 느리지만 이미 번역된 실행파일을 가지게 되므로 이후의 실행에는 빠릅니다.

 

인터프리터

파일을 한 줄씩 번역을 합니다. 번역하는 시간은 한 줄만 번역을 하므로 짧지만 실행 할때마다 번역을 하여야 하므로 실행 시간이 컴파일러에 비해 느립니다.

실행파일이 생성되지 않으므로 같은 파일을 실행하게 되면 매번 같은 번역 과정을 가져야 합니다.

 

이러한 인터프리터를 사용하는 이유는 하드웨어에 종속되지 않은 환경에서 실행하기 위함입니다.

 

a cpu에서 컴파일러를 통해 생성된 실행 파일은 b cpu에서는 실행되지 않습니다.

이는 실행 파일이 하드웨어의 환경에 맞게 생성되기 때문입니다.

그래서 jvm을 설치하여 a cpu에서 컴파일된 실행파일을 b cpu에서 돌리기 위해 jvm 내부에서 실행하는 과정이 있습니다.

 

 

위의 컴파일러 동작과 다르게 인터프리터는 해당 프로그램을 하드웨어의 환경에 맞게 변환을 합니다.

그래서 a cpu에서 돌아가는 프로그램이 b cpu에서도 문제없이 돌아갈 수 있습니다.

이러한 이유로 인터프리터를 사용하곤 합니다.

 

 

  컴파일러 인터프리터
개발 편의성 코드를 수정하고 컴파일을 매번 다시 해야 한다. 수정후에 즉시 실행 가능
실행 속도 빠르다 ㄴ리다.
보안 코드가 유출되지 않는다. 코드가 유출될 수 있다.
파일 용량 실행 파일 전체를 전송해야 하므로, 용량이 크다. 코드만 전송하면 되므로 용량이 작다.
프로그래밍 언어 c, c++ python, ruby

 

 

 

 

출처 : https://cbw1030.tistory.com/276

 

컴파일러와 인터프리터의 차이점을 알아보자

안녕하세요. 이번 포스팅에서는 컴파일러와 인터프리터에 차이와 장단점에 대해서 알아보겠습니다. 컴파일러와 인터프리터는 사람이 이해할 수 있는 고급언어로 작성된 소스 코드를 기계가 이

cbw1030.tistory.com

https://velog.io/@jaeyunn_15/OS-Compiler-vs-Interpreter

 

[OS] Compiler vs Interpreter

1\. 인터프리터 방식원래 인터프리터의 의미는 고급 언어로 작성된 프로그램을 한줄씩 번역해서 OS에서 인식하는 기계어로 변역하는 역할이다.자바 인터프리터는 JAVAC 명령으로 자바 프로그램을

velog.io

 

'Frontend > Javascript' 카테고리의 다른 글

Javascript createObjectURL, revokeObjectURL 🤥  (0) 2022.04.01
Javascript custom event 🐕  (0) 2022.04.01
Javascript 함수 => 1급 객체 ❓  (0) 2022.04.01
Javascript event loop  (0) 2022.03.31
Javascript 얕은 복사, 깊은 복사  (0) 2022.03.27