(IOS)关于Xcode的架构(Architectures)设置
2024-10-19 02:19:52
首先来了解一下Architectures中几个参数的含义
ARMv6:ARM11内核用于iPhone2G和iPhone3G中的架构
ARMv7:modern ARM内核用于iPhone3GS和iPhone4/S中的架构
ARMv7s:A6内核用于iPhone5中的架构
ARM64:A7内核用于iPhone5S/C中的架构
然后在Xcode的build setting的Architectures一栏中有几个比较重要的选项,而代码的编译架构一般设置以下两项:Architectures和Valid Architectures。其中Architectures是指项目编译时生成哪几个架构的二进制指令,项目建成时会自动选择,但在Xcode5中其选择的结果是默认包含ARM64,若果项目使用没有在ARM64上编译的第三方库,通常会有很多错误或告警而编译不过,这时就必须将ARM64去掉,即选择armv7 armv7s,因为ARM的指令是向前兼容的,即使这样选择也能在iPhone5S/C上运行。
但在Valid Architectures一项中,必须选上你要支持的具体架构类型,比如这项没有arm64的话就不能在iPhone5S/C上运行了。
这里我猜测在Architectures选上最新的架构是为了app能使用架构对应的新硬件功能或提升运行效率,而库文件的架构则必须统一。而它尽管向前兼容,但有对应架构的二进制指令可能效率会最优。暂时没有找到文献,得到证据后补上。
最新文章
- jsp九大内置对象和四大作用域
- HDU 1710
- tp中session用来做权限方法 (缓解mysql压力)
- Java构造函数
- 【leetcode】Binary Tree Right Side View(middle)
- silverlight和wpf中暴露 给子类override
- support HTML5 in IE8
- ubuntu 常用命令集合版(二)【大侠勿喷,菜鸟欢迎】(转)
- java中String类型变量的赋值问题
- zookeeper如何永久监听
- PHP制作简单的日历
- 新浪SAE搭建项目
- winform 防止主界面卡死
- UVa 270 &; POJ 1118 - Lining Up
- 自定义MapReduce中数据类型
- Oracle体系结构之内存结构(3)
- html5 contenteditable 实现table可编辑(网页版EXCEL)
- Android通过Chrome Inspect调试WebView出现404页面的解决方法
- 基于CentOS安装FTP服务器
- HTML5元素标记释义