IL(Intermediate Language)
CIL과 동일한 중간단계 언어이다.
IL2CPP
msc.exe를 이용하여 IL code를 생성한 후에 il2cpp.exe라는 프로그램을 이용해 IL code를 C++형태로 변환한다.
AOT컴파일방식을 사용하며 mono보다 빌드 시간이 더 길다.
(unity 2017에서 IL2CPP는 .NET 4.6 API를 지원한다.)
P.S) mono framework에서는 C++로 변환하는 과정없이 IL을 바로 Assembly로 변환한다.
IOS에서는 mono는 지원하지 않고 IL2CPP만 지원한다.
또한 Mono로 build하는것보다 IL2CPP로 Build를 하게될 경우 보안성이 우수해진다.
mono로 build하였을 경우 apk file 내부에 Assembly-CSharp.dll file이 생성되고 해당 file안에 main code들이 위치하게 되는데
해당 file은 ILSPY같은 디컴파일러를 사용하면 손쉽게 code를 뜯어보고 수정할 수 있어 보안에 취약하다.
하지만 IL2CPP로 build를 하게 된 .so file들은 디컴파일시 code형태로 디컴파일되지 않고 assembly code를 분석하는 리버싱을 통해서
코드수정을 접근해야 하므로 보안성이 mono에 비해 우수하다.
GCC(GNU Compiler Collection, GNU Compiler 모음)
GNU Project의 opensource complier collection
C, C++등 다양한 언어를 compile할 수 있는 compiler
'TOOL > Unity' 카테고리의 다른 글
Unity Heap Memory 구조 (0) | 2019.03.05 |
---|---|
Mono / Mono Behaviour (0) | 2019.03.05 |
Asset Bundle Manager (0) | 2019.02.27 |
Asset bundle 사용법 (0) | 2019.02.27 |
대표적인 Memory leak 발생 유형 (0) | 2019.02.26 |