유니티에서 C# 코드는 msc.exe라는 프로그램에 의해  IL 코드로 변환됩니다.

(mono 프레임워크의 경우 msc.ec를 사용하며 일반 C#은 다를 수 있음)


C# 코드를 유니티에서 빌드하면 Assembly-Csharp.dll 이라는 파일이 생성됩니다. 이 파일은 IL(Intermediate Language) 형태로 이루어져 있습니다.


그리고 이 IL코드가  실제 기기에서 실행됩니다. mono가 IL 코드를 읽어 어셈블리(바이너리)로 변환시켜 실행되는데 이 과정을 JIT 컴파일링 이라고 합니다.



IL2CPP는 msc.exe가 만든 IL 코드를  il2cpp.exe를 사용하여 C++ 형태로 코드를 변환한 뒤 바로 기계어로 변환시킵니다.


이 경우 JIT 과정이 없기 때문에 성능상 이점이 있으며 보안성도 더 좋습니다.


이런식의 실행 중 컴파일이 없는 것을 AOT 컴파일링이라고 합니다.

'유니티' 카테고리의 다른 글

AssetBundle의 사용 패턴  (0) 2018.03.09
AssetBundle의 기본 요소  (0) 2018.03.07
Resources 폴더  (0) 2018.03.05
Assets, Objects 그리고 직렬화  (0) 2018.03.04
AssetBundles 및 Resources 가이드  (0) 2018.03.03

+ Recent posts