浅谈X86平台OMF、COFF、ELF、Mach-O四种文件格式

本文详细介绍了X86平台的四种目标文件格式:OMF、COFF(PE)、ELF和Mach-O。OMF主要用于16位系统,而COFF(Windows的PE格式)和ELF(Linux和BSD)是更现代的格式。Mach-O则是Mac OS X和旧Mach操作系统的格式。ELF因其灵活性和可扩展性成为广泛使用的格式。
摘要由CSDN通过智能技术生成

1. 目标文件概念

     源代码经过编译器编译之后所生成的文件便是目标文件(Windows下的.obj和Linux下的.o)。此时的目标文件还不能执行,因为因为还缺失链接、装载等过程,其中某些符号或是地址还没有被正确寻址调整。它是一种编译之后的可执行文件格式,即按照可执行文件格式存储,而在文件的整体结构上面有些差异。从广义上来看,目标文件和可执行文件的格式其实是一样的。因此,可以将目标文件和可执行文件看作是同种类型的文件。目标文件如图1红色虚线框所示。

在这里插入图片描述
                                图1 可执行文件的创建过程

2. 目标文件格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内核之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值