我有一个我正在尝试编译的SDK,我想知道当我选择“架构”下的标准架构(armv7,armv7s)选项时会发生什么?
据我所知,armv7指令集也可以在支持armv7s的设备上运行,但反之亦然。那么,当我使用此选项进行编译时,编译器是输出带有两个SDK的二进制文件,还是只输出一个带有armv7的SDK,每个SDK使用不同的指令集?
我很困惑,不确定我是否正确地思考了这一点。
发布于 2014-02-06 04:46:35
是的,如果同时指定armv7和armv7s,它将构建一个包含两组目标代码的“胖二进制文件”,一组用于armv7,另一组用于armv7s。将应用程序安装到手机上时,安装程序将使用安装该应用程序的设备的正确目标代码。
您可以只指定" armv7“,并且,您是正确的,生成的对象代码将在armv7和armv7s上运行。但是,它在armv7s上的运行速度要比包含这两组代码的二进制代码慢。
通常,除非您有特定的原因不这样做,否则请坚持使用“标准架构”,因为它为当前支持的iOS设备提供了最好的支持。
https://stackoverflow.com/questions/21587874
复制相似问题