简介
class-dump 是一个工具,它利用了 Objective-C 语言的运行时特性,将存储在 Mach-O 文件中的头文件信息提取出来,并生成对应的 .h 文件。
安装
可以在其class-dump 官网下载,将里面的 class-dump 直接放在/usr/local/bin 目录,并给个可执行权限即可 如果/usr/local/bin 没有添加到 PATH,请自行添加
如何使用 class-dump
class-dump -H Mach-O 文件路径 -o 头文件存放目录
Mach-O 文件
Mach-O 其实是 Mach Object 文件格式的缩写,是 mac 以及 iOS 上可执行文件的格式, 类似于 windows 上的 PE 格式 ( Portable Executable ) , linux 上的 elf 格式 ( Executable and Linking Format ) .
它是一种用于可执行文件、目标代码、动态库的文件格式。作为 a.out 格式的替代,Mach-O 提供了更强的扩展性。
但是除了可执行文件外 , 其实还有一些文件也是使用的 Mach-O 的文件格式 .
属于 Mach-O 格式的常见文件
- 目标文件 .o
- 库文件
- .a
- .dylib
- Framework
- 可执行文件
dyld ( 动态链接器 )
.dsym ( 符号表 )
也就是说 Mach-O 并非一定是可执行文件 , 它是一种文件格式 , 分为 Mach-O Object 目标文件 、Mach-O ececutable可执行文件、 Mach-O dynamically 动态库文件、 Mach-O dynamic linker 动态链接器文件、 Mach-O dSYM companion 符号表文件 , 等等 .