컴퓨터 프로그램을 만드는 방식 2가지
정적 컴파일
인터프리트 방식
- 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행
- 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법
- JIT(just-in-time compilation), 또는 dynamic translation 동적 번역
Scripting Backend
- C#은 전통적으로 플랫폼 지향적인 기계어로 컴파일되지 않고 IL로 컴파일된다
- 어플리케이션을 실행되면서 IL은 런타임 때 플랫폼 지향적인 기계어 코드를 생성한다
- 이 과정은 JIT에 의해 작동한다
- 이 방식은 C# 언어의 고유 특징이 아니라 .Net Framework에서 해오던 방식이다
- 이 고유의 방식을, Unity에서 Mono라 불리는 Scripting Backend를 통해 지원한다
IL2CPP란?
- 이 방식의 Scripting Backend 역시 C#을 IL로 변환한다
- 하지만 IL2CPP는 Microsoft Intermediate Language를 C++로 변환한다
- 즉, JIT 방식으로 실행하지 않는다
- 정적 컴파일이기 때문에 실행 속도가 JIT 컴파일보다 빠르다
출처