大佬教程收集整理的这篇文章主要介绍了ios – 有哪些苹果平台允许内联汇编?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
截至目前(Xcode 7.1.1),这是我观察到的:
> OSX – 允许(我期待永远)
> iOS – 允许,即使使用位代码(内联汇编放入位代码)with probable confirmation
> watchOS – 不允许(不会编译,给内联汇编被禁用错误)
> tvOS – 允许
然而,这些都是可疑的结论,因为我没有每个市场上的应用程序来验证这一点。
我已经看到开源库和应用程序的一些帖子,当包含内联汇编和位码时,iOS应用程序将被拒绝。我看到一些帖子,tvOS是类似于watchOS,不会让你使用内联汇编(可能固定在最新的Xcode?)
有没有一些可靠的参考从苹果或..任何关于什么平台我可以使用内联汇编?
根据Apple docs位代码对于watchOS和tvOS是必需的,因此内联汇编被禁用。
On X86,一个包含比特码和X86 ASM混合的存档可以编译成64位应用程序。这不是一件明智的事情,因为手工制作的汇编程序大概是性能关键部分,但它可以工作。
在ARM上也是如此。 X86案例是因为X86指令集是X86_64的纯粹子集,这意味着任何X86汇编器都是有效的X86_64汇编器。在ARM上,64位处理器需要运行在32位状态才能执行32位代码。根据ARM docs,您不能在同一应用程序中混合32位和64位程序集(请参阅更改执行状态)
这意味着如果您提供了基于ARM架构ARCH的位线加内联asm的混合,实际上AppStore只能做(至少目前为止)编译ARCH的位代码,它可以让您(说)一个完整的32位应用程序在64位处理器上运行。重点是什么?首先上传一个没有位代码的普通32位可执行文件要简单得多。
以上是大佬教程为你收集整理的ios – 有哪些苹果平台允许内联汇编?全部内容,希望文章能够帮你解决ios – 有哪些苹果平台允许内联汇编?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。