可以对 Xcode 中的 arm 架构设置进行一些说明
据我所知,iPhone 5 将使用一种新架构,armv7s
.我的项目具有作为 armv7
的有效架构,并且将 Build Active Architecture Only
设置为 true
.由于现在商店中的每个应用程序都是为 armv6
和/或 armv7
构建的,我无法想象它不会在新 iPhone 上运行.那么会发生什么呢?它只是没有尽可能好地运行吗?
From what I've read, the iPhone 5 will use a new architecture, armv7s
. My project had valid architectures as armv7
, and had Build Active Architecture Only
set to true
. Since every app in the store right now is built for armv6
and/or armv7
, I can't imagine that it will not run on the new iPhone. So what occurs? Does it just not run as well as it could?
我可以更好地解释正在发生的事情,以及一旦我重新构建并使用 armv7s
作为有效架构提交后会有什么不同.
I could just use a better explanation of what is occurring, and what would be different once I rebuild and submit with armv7s
as a valid architecture.
首先,它是 armv7,而不是 arm7(是的,有区别).我似乎找不到任何关于细节的文档,但我想 armv7s 增加了对一些可选的 ARMv7 功能的支持,例如VFPv4/FMA 或 UDIV/SDIV 整数除法指令.除非您的应用涉及大量数学或图形,否则我无法想象这种差异会很明显.
First, it's armv7, not arm7 (yes, there is a difference). I can't seem to find any docs on the specifics, but I imagine armv7s adds support for some optional ARMv7 features, e.g. VFPv4/FMA, or UDIV/SDIV integer division instructions. I can't imagine the difference will be noticeable unless your app deals with a lot of math or graphics.
编辑:请参阅此链接对 LLVM 进行了更改以支持 armv7s.据我所知,它确实只是 VFPv4 和整数除法,加上对指令调度程序的一些更改.显然,CPU 代号是Swift".
Edit: see this link for the changes made to LLVM for armv7s support. From what I see, it's indeed just VFPv4 and integer divide, plus some changes to the instruction scheduler. Apparently the CPU codename is "Swift".