我读过Xamarin的一篇文章,并且遇到了一个特定的计算机科学词:提前.
根据一些谷歌搜索结果,这个AOT不允许在运行时生成代码.
这是不是意味着,它不支持动态的东西?
根据一些谷歌搜索结果,这个AOT不允许在运行时生成代码.
这是不是意味着,它不支持动态的东西?
我知道这个问题可能很愚蠢,我对IOS有0个知识,希望能从这里得到一些答案.谢谢
解决方法
首先,动态的定义是什么?对于一般公众来说,动态代码意味着应用程序可以在运行时更改功能.对于iOS平台,二进制文件已签名以防止恶意软件. Apple不喜欢可以在运行时加载功能的应用程序.
ahead-of-time (AOT) compiler与动态代码本身无关.它与just-in-time compilation (JIT)的中间语言有关.中间语言的最大例子是Java字节码;编译一次,随处运行.当Java应用程序正在执行时,编译的代码是JIT到本机机器代码. AOT编译器只是提前完成,以节省时间.
对于iOS平台,Xcode将Objective-C编译为设备的本机二进制文件.