Xcode arm64 Vs arm64e

Puv*_*jan 37 xcode ios 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.但是找不到合适的解释.

Gio*_*gen 85

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


Ben*_*rth 16

arm64arm64e

两者都是ABI(较低级别的 API),可编译为指令(由 ISA/指令集架构定义)。arm64e 用于 Mac M1 和 iPhone。它们之间的差异就是乔瓦尼回答中的要点。

arm64eARMv8.3

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

总而言之,arm64e就是一个ABI(通常称为架构,而不是ISA),它编译为真正的ISA。新的Apple设备使用arm64e,包括M1 mac。

iPhone(例如 A14、A15)、M1 Mac、M1 Pro Mac 等。

他们都使用arm64e ABI,但Apple拥有ISA许可证,并创建自定义ISA。

ABI 与架构?

Android 文档有关于Android ABI 的有用指南,其中包含一般信息:

不同的 Android 设备使用不同的 CPU,而 CPU 又支持不同的指令集。CPU 和指令集的每种组合都有自己的应用程序二进制接口 (ABI)。ABI 包含以下信息: 在此处阅读更多信息


Pau*_*ien 5

为了测试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