iOS指令集

 公司在进行项目重构时,其中一个地方的改动就是调整了iOS的指令集.更改指令集主要可以对手机应用的安装机型做出控制,同时在研发过程中也可以控制相关的模拟器和真机.它们原则上是向下兼容的,比如iphone5的指令集为armv7s同时也兼容armv7.

  至于什么是指令集,在这里不会进行阐述,因为涉及的东西不是只言片语就能够说明.有兴趣的朋友可以自行查阅相关资料.

  我们在这里主要介绍iOS指令集.总体说来iOS指令集大致有以下几种 : armv7 | armv7s | arm64 | i386 | x86_64.其中 armv6|armv7|armv7s 为32位ARM指令集arm64 为64位指令集; i386|x86_64 是Mac处理器的指令集, i386是针对intel通用微处理器32架构的. x86_64是针对x86架构的64位处理器. 当使用iOS模拟器的时候会遇到 i386|x86_64, iOS模拟器没有arm指令集.

  苹果手机不同的机型也对应着不同的指令集.目前移动设备的指令集大致如下:

  arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)

  armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)

  armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

  模拟器32位处理器测试需要i386架构

  模拟器64位处理器测试需要x86_64架构

  真机32位处理器需要armv7,或者armv7s架构

  真机64位处理器需要arm64架构

转...............

原文地址:https://www.cnblogs.com/8335IT/p/8986504.html

时间: 2025-01-13 06:47:03

iOS指令集的相关文章

查看lib库支持的IOS指令集

lipo -info libJMALibrary.a Architectures in the fat file: libJMALibrary.a are: i386 armv7 lipo命名只能识别armv7和之前的架构,对于armv7s不能识别 xcrun -sdk iphoneos lipo -info libJMALibrary.aArchitectures in the fat file: libJMALibrary.a are: i386 armv7 armv7s xcrun -sd

iOS指令集查询技巧

1.在shell终端中编写.c或.m文件,需要编译成.o文件(即gcc -c ***.c/***.m),即可生成***.o文件 2.在shell中输入 ar crs lib***.a ***.o ,即可生成lib***.a库文件 3.在shell中输入nm ./***.out,即可查看二进制文件 4.在shell终端中输入lipo -info lib***.a文件或者 file lib***.a文件,如果输出是X86,说明是MAC的指令集,如果输出是ARM7.ARM64就是真机设备(ios设备)

iOS 指令集

armv7|armv7s|arm64都是ARM处理器的指令集 i386|x86_64 是Mac处理器的指令集 arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display) armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display) armv7:iPhone4|iPhone4S|

【原/转】ios指令集以及基于指令集的app包压缩策略

iPhone指令集 本文所讲的内容都是围绕iPhone的CPU指令集(想了解ARM指令集的同学请点击这里),现在先说说不同型号的iPhone都使用的是什么指令集: ARMv8/ARM64 = iPhone 5s, iPad Air, Retina iPad Mini ARMv7s = iPhone 5, iPhone 5c, iPad 4 ARMv7  = iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, 

iOS armv7

一直对ios的armv7.armv7s.arm64似懂非懂的,只知道如果报No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv6 armv7)这样的错误是他们不兼容删除一下就行了,但是不知道根源,特意去网上查了一下. ios指令集: 1.armv6是iPhone.iPhone2.iPhone3G.第一代和第二代ipod Touch上的 2.armv7是iPhone4.iPhone4s上的 3.armv7s是iPhone5.iP

ios的指令集(转)

目前ios的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone5 iPhone5C arm64 iPhone5S 机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iphone5S的,只是效率没那么高而已~ ================================================ Architecture : 指你想支持

【转】iOS lame编译 arm64 armv7s armv7 x86_64 i386指令集

原文出至 http://blog.csdn.net/vieri_ch/article/details/40650467 最近升级了系统到Mac OS X 10.10 并且更新了XCode6.1和iOS 8.1 之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集.需要重新编译 查阅了下资料,按照如下步骤,并做了些注释和改动 1.http://sourceforge.net/projects/lame/files/lame/3.9

ARM指令集应该也算得上是iOS逆向工程的基础

当然,如果读者仅仅是想阅读污点跟踪相关的代码,可以去github中按照自己的需要下载对应部分源码即可.如实现变量级.Native级污点跟踪的代码基本都在dalvik目录下,单个函数调用操作所使用的栈部分被称为栈帧(stack frame)结构,其一般结构如上图所示.栈帧结构的两端由两个指针来指定.寄存器ebp通常用做帧指针(frame pointer),而esp则用作栈指针(stack pointer).在函数执行过程中,栈指针esp会随着数据的入栈和出栈而移动,因此函数中对大部分数据的访问都基

iOS中的几种指令集(armv6、armv7、armv7s、arm64)

目前iOS的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone5 iPhone5C arm64 iPhone5S 机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iPhone5S的,只是效率没那么高而已~ ================================================ Architecture : 指你想支持