mac  中 Mach-O

Mach-OMach Object文件格式的缩写,它是一种用于可执行文件目标代码动态库内核转储的文件格式。作为a.out格式的替代,Mach-O提供了更强的扩展性,并提升了符号表中信息的访问速度。

Mach-O曾经为大部分基于Mach核心的操作系统所使用。NeXTSTEPDarwinMac OS X等系统使用这种格式作为其原生可执行文件,库和目标代码的格式。而同样使用GNU Mach作为其微内核GNU Hurd系统则使用ELF而非Mach-O作为其标准的二进制文件格式。


Mach-O
Mac OS X中可执行二进制的图标
扩展名无, .o.dylib
统一类型标识com.apple.mach-o-binary
开发者卡内基梅隆大学/苹果公司
格式二进制文件可执行文件目标代码动态库内核转储
专门属ARMSPARCPA-RISCPowerPC以及x86可执行文件,内存转储


Mach-O文件结构

每个Mach-O文件包括一个Mach-O头,然后是一系列的载入命令,再是一个或多个,每个块包括0到255个。Mach-O使用REL再定位格式控制对符号的引用。Mach-O在两级命名空间中将每个符号编码成“对象-符号名”对,在查找符号时则采用线性搜索法。

Mach-O的基本结构,引用了文件中数据页的变长“加载命令”表,也用于Accent核心的可执行文件格式中,而这种格式则是基于来自Spice Lisp的理念。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值