码迷,mamicode.com
首页 > 移动开发 > 详细

iOS指令集查询技巧

时间:2014-11-28 22:41:56      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   使用   文件   on   代码   ef   as   

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 封装的结果,以后不管是模拟器还是真机都可以使用该库文件。

iOS指令集查询技巧

标签:io   ar   os   使用   文件   on   代码   ef   as   

原文地址:http://www.cnblogs.com/qingpeng-ios/p/4129454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!