iOS可用架构问题

标签 ios armv7 armv6


我对 iOS build设置中可用的架构有点困惑。

我发现有4种:

  1. i386
  2. armv6
  3. armv7
  4. armv7s

我知道i386 用于模拟器,armv6 用于 iOS 设备(较旧的设备,这么认为)。

但我对 armv7 和 armv7s 感到困惑。

1) armv7 和 armv7s 有什么区别?

2) 基于 armv7armv7s 架构的应用是否支持旧的 iOS 版本?

我搜索过,但没有得到任何有用的信息。
请帮助我理解其中的区别,在此先感谢。

最佳答案

i386、ARMv6、ARMv7 和 ARMV7S 是处理器架构(指令集),ARMv7S 存在于 iPad 4 和 iPhone 5(配备 Apple A6 处理器)中。

Apple 设计的处理器 A6 是第一个采用 ARMv7S 架构的处理器。它完全兼容 ARMv7,但有一些由 Apple 添加的特定优化。这些优化在正常的 ARMv7 中不起作用,这就是他们添加 s 的原因。

维基百科称之为 Switft AnandTech 有一篇不错的帖子:The iPhone 5 review - Decoding Swift

关于iOS可用架构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236728/

相关文章:

iOS 更新重新加载内容计时器

ios - 释放对象后,NSMutableArray addObject 设置为 nil

ios - 引用armv6验证失败,但armv6不在项目中

Xcode 4.2 和 Three20 无法编译 armv6

gcc - armv7生成的ELF文件,armv6生成的.o文件,同时使用-march=armv6,为什么?

ios - 如何为每个表格 View 单元添加一个计时器,该计时器在用户每次滚动时更新?

ios - 如果顶部有标题 View ,如何在 SwiftUI 列表下正确显示数据

ios - 干净后的 "libtool failed with exit code 1"

kernel - armv8 - AArch64 与 AArch32 堆栈指针寄存器?

gcc - 为什么使用 arm-linux-gnueabi-gcc 编译时堆栈指针比堆栈帧大小向下移动 4 个字节?