IOS:AOT提前,它是什么?

Wen*_*Hao 6 xamarin.ios ios xamarin

我读过Xamarin的一篇文章,并且遇到了一个特定的计算机科学词:提前.根据一些谷歌搜索结果,这个AOT不允许在运行时生成代码.这是不是意味着,它不支持动态的东西?

我知道这个问题可能很愚蠢,我对IOS有0个知识,希望能从这里得到一些答案.谢谢

Bla*_*rog 4

首先,动态的定义是什么?对于公众来说,动态代码意味着应用程序可以在运行时更改功能。对于 iOS 平台,二进制文件经过签名以防止恶意软件。Apple 不喜欢可以在运行时加载功能的应用程序。

提前(AOT)编译器与动态代码本身无关。它与即时编译(JIT)的中间语言有关。中间语言最大的例子是Java字节码;编译一次,随处运行。当Java应用程序执行时,编译后的代码是JIT到本机机器代码。AOT 编译器只是提前完成,以节省时间。

对于 iOS 平台,Xcode 将 Objective-C 编译为设备的本机二进制文件。