[摘要]本文是對armv7 armv7s arm64的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。
arm處理器以其低功耗和小尺寸而聞名,幾乎所有的手機處理器都是基於arm,在嵌入式系統中應用非常廣泛。
armv6, armv7, armv7s, arm64指的是arm處理器的指令集。
i386, x86_64指的是pc端處理器指令集。
所有指令集原則上是向下兼容的。
arm64:iPhone6s|iphone6splus|iPhone6|iPhone6plus|iPhone5S|iPadAir|iPadmini2(iPadminiwithRetinaDisplay)
armv7s:iPhone5|iPhone5C|iPad4(iPadwithRetinaDisplay)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(TheNewiPad)|iPadmini|iPodTouch3G|iPodTouch4
i386是針對intel通用微處理器32位處理器
x86_64是針對x86架構的64位處理器
模擬器32位處理器測試需要i386架構,
模擬器64位處理器測試需要x86_64架構,
真機32位處理器需要armv7,或者armv7s架構,
真機64位處理器需要arm64架構。
xcode中,指令集相關的選項主要有三種:
1,Architectures:該選項指定工程可被編譯成支持何種指令集的數據包。由於工程會針對每一種指令集編譯出對應的二進制數據包,所以支持的指令集越多,對應生成的ipa包就越大。
2,Valid Architectures:限制了工程可支持的指令集范圍。即,工程最終支持的指令集在valid architectures定義的這個范圍之內,所以工程最終編譯出的包支持的指令集將由Architetures和Valid Architectures選項定義的指令集的交集決定。
3,Build Active Architecture Only:設定是否只編譯出當前連接設備所支持的指令集。一般,debug的時候可指定為YES,為了debug的時候編譯速度快;release的時候指定為NO,以適應不同的設備。