Compile

사람이 이해하는 언어를 컴퓨터가 이해하는 언어로 바꿔주는 과정

정적언어인 경우 가능함 - C언어, Java ...

즉, 변수 Type이 존재

변수의 타입이 존재해야 내가 만든 변수의 크기를 알 수 있고 그래야 메모리의 사이즈를 측정하고 기계에 의해 실행 가능

Interpreter

소스코드를 한 줄씩 읽어서 바로 실행하는 방식

동적언어인 경우 가능 - python, javascript ... 

변수의 Type을 모름

JIT(Just In Time)

1.  중간언어로 컴파일

가상 머신(JVM..) 위에서 작동하는 파일로 컴파일

2. VM에 의해 인터프리터로 실행

중간언어 -> os에 맞게 컴파일 실행

실제 개발

미리 모든 것을 개발하고 컴파일하는 것이 아니라 실행 속도가 느림

그렇기에 개발 환경에서 사용

AOT(Ahead-Of-Time compile)

운영체제에 맞춰 컴파일

배포환경에서 사용


아래의 영상을 보고 정리한 글

https://www.youtube.com/watch?v=NATSWdq2AvU&list=PL93mKxaRDidGEaUXprXqhNvSW02xCjLZI&index=5

 

728x90

'Study > Computer Science' 카테고리의 다른 글

동기 / 비동기 & 블로킹 / 논블로킹  (0) 2021.06.08

+ Recent posts