MachO文件
2018-07-04 本文已影响60人
乔克蜀黍
MachO文件
官方介绍总共有11种格式! 是 Mach Object的缩写,是Mac\iOS 上用于存储程序,库的标准格式!
常见格式
1.可执行文件
2.Object文件
.o文件(目标文件)
.a文件,静态库文件.其实就是N个.o文件的集合
xcode创建c语言文件
c文件.png终端通过命令:
clang -c cfile.c
编译cfile.c文件即可得到编译后的目标文件
编译后.png
再通过命令
file cfile.o
查看cfile.o文件的类型cfile.o: Mach-O 64-bit object x86_64
,cfile.o为Mach-o文件。.o文件通过命令
clang cfile.o
编译为可执行文件a.out
可执行文件.png
也可以通过命令
clang -o test1 cfile.c
一步把cfile.c编译成名为test1的可执行文件。
3.DYLIB:动态文件库
dylib
framework
4.动态连接器
5.DYSM
Macho文件的拆分和整合
在iOS10 release模式下生成的Macho文件会包涵armv7和arm64两个Macho文件
通过命令lipo 002--可执行文件 -thin armv7 -output macho_armv7
和002--可执行文件 -thin arm64 -output macho_arm64
拆分成armv7和arm64 Macho文件。
同样也可以通过命令lipo -create macho_armv7 macho_arm64 -output machO_v7_64
把armv7和arm64整合成一个Macho。