iOS指令集查询技巧
浏览数:24 /
时间:2015年06月11日
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设备)的指
令集
5、模拟器上运行的程序不能在iOS设备上运行,反之iOS设备上运行的程序也不能在模拟器上运行,因为模拟器使用X86指令集,真机设备使用的是ARM7指令集
6、在Xcode 6.1中,有3中方法包含第3方开源代码引入工程:
第1中方式创建Cocoa Touch Static Library静态库类,生成 ***.a 库文件,在Xcode6.1的Preferences中Loccation位置,
默认在/Users/apple/Library/Developer/Xcode/DerivedData路径中,然后找到自己的工程名字,找到 ***.a 库文件即可,如果编译是选择的是模拟
器,则生成的 ***.a 文件默认是X86(Mac OS电脑)指令集,如果编译时选择iOS设备编译,即生成的***.a就是ARM7或者ARM64指令集,也可以通过shell终端命令查看属
于何种指令集
第2种方方式是在有现成的开源代码时,可把整个Xcode整个工程添加到当前项目工程中,可以修改开:源代码,编译时自动更新 ***.a 文件。
注意上述方法:都需要在工程编译设置(Building Setting)中指定***.h文件路径,在Build Phases中Link中添加 ***.a 文件
第3中方式先创建Cocoa Touch FrameWork工程,即创建一个FrameWork框架,生成.framework文件,然后在Build Phases中Link中添加 ***.framework 文件
7、在shell中可通过lipo -create lib***1.a lib***2.a -output lib***12.a ,其中 lib***1.a 代表选择iOS真机设备编译的指令集, lib***2.a 代表选择模拟器编译的指令
集,lib***12.a是把lib***1.a 和lib***2.a 封装的结果,以后不管是模拟器还是真机都可以使用该库文件。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。