unity IL2CPP的知识

  主要转载直乎链接:

  https://zhuanlan.zhihu.com/p/19972689  

主要是那两张图:

    **** : https://www.sohu.com/a/148756513_468635            

    unity在跨平台上并没有使用mono vm,而是使用了 IL2CPP vm, 各个平台对c++进行了编译优化,并且c++的高效。

 

  C# script --->gt;IL(intermidate language)---mono compile --->IL2CPP--->CPP compile --IL2CPP VM

1.其中ios热更新的话需要 lua 进行语言解释, 当然UI逻辑接口要先约定好给lua,然后lua解释到cpp中去。

2.android的话,从远程www下载,assetBuddle加载资源,dll加载代码文件。 主要是一种反射机制加载dll。。 对于c++而言,可以直接加载dll,是因为直接获取函数地址。。但是c#不能直接获取dll的函数地址,需要一种反射机制获取地址。

改变自己
原文地址:https://www.cnblogs.com/sun-shadow/p/6259991.html