iOS开发iOS相关记录本

iPhone的CPU架构和ARM指令集

2021-07-01  本文已影响0人  一纸苍白

什么是CPU架构

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。

目前市面上的CPU分类主要分有两大阵营,一类是复杂指令集(CISC)CPU,另一类是精简指令集(RISC)CPU。我们今天要讨论的ARM指令集就属于精简指令集(RISC)CPU。

ARM处理器

ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。

ARM处理器因其低功耗和尺寸小而闻名,iPhone的处理器全部都基于ARM。
我们经常见到的armv7 | armv7s | arm64都是ARM处理器的指令集。
指令集应用于开发有如下特点:

指令集对应的机型

arm64e : iPhone 12 | iPhone 12 Mini | iPhone 12 Pro | iPhone 12 Pro Max
arm64e : iPhone 11 | iPhone 11 Pro | iPhone 11 Pro Max
arm64e : iphone XS | iphone XS Max | iphoneXR
arm64  : iPhone 8 | iPhone 8 Plus | and iPhone X
arm64  : iPhone 7 | iPhone 7 Plus | iPad (2018)
arm64  : iPhone 6S | iPhone 6S Plus 
arm64  : iPhone 6 | iPhone 6 Plus
arm64  : iPhone 5S
armv7s :iPhone5 | iPhone5C | iPad4(iPad with Retina Display)
armv7  :iPhone4 | iPhone4S | iPad | iPad2 | iPad3(The New iPad) | iPad mini | iPod Touch 3G | iPod Touch4

相关的Build Setting

Build Settings中搜索Architecture,可以看到如下图的设置项:

其中Architecture的默认值是$(ARCHS_STANDARD),该值具体如下:

请参照Xcode Build Settings Reference
在iPhone上时支持armv7arm64,模拟器上支持i386x86_64,Mac上支持x86_64

相关错误

No architectures to compile for (...)
看到这样的异常,就是架构上的不支持了,我们需要根据括号内的提示排查问题。

上一篇下一篇

猜你喜欢

热点阅读