IL2CPP

Unity3D 2019. 6. 4. 15:41
반응형

IL2CPP(C++로 변환하는 중간 언어)는 Unity에서 개발한 스크립팅 백엔드로, 여러 플랫폼용 프로젝트를 빌드할 때 Mono 대신 사용할 수 있습니다. IL2CPP를 사용하여 프로젝트를 빌드할 때 Unity가 스크립트와 어셈블리의 IL 코드를 C++ 코드로 변환한 후에 선택한 플랫폼에 적합한 네이티브 바이너리 파일(예: .exe, apk, .xap)을 만듭니다. IL2CPP는 Unity 프로젝트의 성능, 보안 및 플랫폼 호환성을 개선하는 등의 용도로 사용됩니다.

 


IL(Intermediate Language)코드를 c++형태로 변환 하는 프로그램 

AOT(Ahead Of Time) : 
실행 시간 이전에 이루어진 컴파일 
컴파일 타임에 중간 언어로 번역한다음 중간언어를 기계어로 번역 한다.

JIT(Just-In-Time) 컴파일러 :
실행 시간 이전에 컴파일한 내용을 가상 머신 코드(IL Code)로 저장해놓고 
컴포넌트 사용시 가상 머신 코드를 기계어로 바꾸어 명령어가 실행되도록 한다.

IOS는 LLVM을 지원하는데 LLVM은 JIT컴파일러를 지원하지 않기 때문에 IOS에서
JIT컴파일러대신 AOT 컴파일러 방식을 도입 

AOT 컴파일러가 컴파일 시간에 중간 언어로 번역하고 
LLVM이 중간 언어를 네이티브 코드 (CPU나 OS가 직업 실행할수 있는 코드, ex: 기계어)로 만들어 낸다.

NDK(Native Development Kit)는 Android에서 C 및 C++ 코드를 사용할 수 있게 해주는 일련의 도구 모음으로, 네이티브 액티비티를 관리하고 센서 및 터치 입력과 같은 물리적 기기 구성요소에 액세스하는 데 사용할 수 있는 플랫폼 라이브러리를 제공합니다. 

안드로이드 유니티 IL2CPP 게임 해킹 : http://blog.naver.com/linears_/221395979775

c#, IL 그리고 Native : http://www.csharpstudy.com/DevNote/Article/22

c# 컴파일 그리고 il2cpp : https://blogs.unity3d.com/kr/2015/09/22/kr-csharp-compile-il2cpp/

An introduction to IL2CPP internals : https://blogs.unity3d.com/2015/05/06/an-introduction-to-ilcpp-internals/

Unity 매뉴얼 IL2CPP : https://docs.unity3d.com/kr/2018.1/Manual/IL2CPP.html



반응형

'Unity3D' 카테고리의 다른 글

Training-Imitation-Learning.  (0) 2019.06.04
이동/회전  (0) 2019.06.04
에셋번들 실전 가이드 (AssetBundle Best Practices)  (0) 2019.06.03
텐서보드 사용법  (0) 2019.05.19
ImportError: Could not find 'cudart64_90.dll'.  (0) 2019.05.19
: