Xcode arm64与arm64e

时间:2018-10-03 09:51:26

标签: ios xcode arm64 xcode10.1

Xcode 10.1提到对arm64e的支持(预览)。任何人都对arm64e有所了解。 arm64和arm64e之间的任何区别。

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc

我搜索了arm64e。但是找不到适当的解释。

3 个答案:

答案 0 :(得分:65)

arm64e架构用于A12芯片组,该芯片组已添加到最新的2018 iPhone型号(XS / XS Max / XR)中。该代码编译为ARMv8.3,该版本带来了对新功能的支持。即:

  • 指针身份验证
  • 嵌套虚拟化
  • 高级SIMD复数支持
  • 改进的Javascript数据类型转换支持
  • 更改内存一致性模型
  • ID机制支持更大的系统可见缓存
  

A12具有Apple设计的64位ARMv8.3-A六核CPU

https://en.wikipedia.org/wiki/Apple_A12

也可以在此处阅读有关该体系结构的更多信息:

https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

答案 1 :(得分:1)

arm64 vs arm64e

两者都是编译为指令(由 ISA/指令集架构定义)的 ABIs(低级 API)。 arm64e 用于 Mac M1 和 iPhone。它们之间的区别在于 Giovanni's answer 中的点。

arm64e vs ARMv8.3

两者都被模棱两可地称为“架构”。 arm64e 不是 ISA 而是 ABI(应用程序二进制接口),而 ARMv8.3 是 ARM ISA(技术上是 AArch64 的扩展)。

总而言之,arm64e 是一种 ABI(通常称为架构,但不是 ISA),可编译为真正的 ISA。新的 Apple 设备在 arm64e 上运行,包括 M1 mac。

答案 2 :(得分:0)

要使用应用测试arm64e,请更新Architectures中的Build Settings设置。有关更多详细信息,请访问https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication

请注意,如果您具有CocoaPods依赖项,则必须同样更改所有Pods构建目标。

如果任何CocoaPods依赖项都是二进制而不是源Pod,请像https://github.com/firebase/firebase-ios-sdk/issues/4110

向供应商发出请求