Gio*_*gen 85
arm64e架构用于A12芯片组,该芯片组在最新的2018 iPhone型号(XS/XS Max/XR)中添加.代码编译为ARMv8.3,它支持新功能.即:
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
arm64与arm64e两者都是ABI(较低级别的 API),可编译为指令(由 ISA/指令集架构定义)。arm64e 用于 Mac M1 和 iPhone。它们之间的差异就是乔瓦尼回答中的要点。
arm64e与ARMv8.3?两者都被含糊地称为“架构”。arm64e不是ISA而是ABI(应用程序二进制接口),ARMv8.3是ARM ISA(技术上是AArch64的扩展)。
总而言之,arm64e就是一个ABI(通常称为架构,而不是ISA),它编译为真正的ISA。新的Apple设备使用arm64e,包括M1 mac。
他们都使用arm64e ABI,但Apple拥有ISA许可证,并创建自定义ISA。
Android 文档有关于Android ABI 的有用指南,其中包含一般信息:
不同的 Android 设备使用不同的 CPU,而 CPU 又支持不同的指令集。CPU 和指令集的每种组合都有自己的应用程序二进制接口 (ABI)。ABI 包含以下信息: 在此处阅读更多信息
为了测试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