首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对二进制文件(PE/COFF & ELF)格式和术语的澄清

对二进制文件(PE/COFF & ELF)格式和术语的澄清
EN

Stack Overflow用户
提问于 2010-01-31 06:38:23
回答 5查看 7K关注 0票数 18

我在术语上一点也不困惑。

作为链接器输入的文件称为对象文件。链接器生成一个图像文件,然后加载程序使用该文件作为输入。

我是从"MS PE & COFF规范“得到的

Q1.图像文件也称为Binary ImageBinary File或仅为Binary。对吗?

因此,根据上述术语,PE/ELF/COFF是图像文件的格式,而不是对象文件。对吗?但是http://www.sco.com/developers/gabi/latest/ch4.intro.html

本章描述对象文件格式,称为ELF (可执行和链接格式)。对象文件有三种主要类型。

  • 可重定位文件保存适于与其他对象文件链接以创建可执行文件或共享对象文件的代码和数据。
  • 可执行文件保存适合执行的程序;该文件指定exec(BA_OS)如何创建程序的进程映像。
  • 共享对象文件保存适合在两个上下文中链接的代码和数据。首先,链接编辑器(参见ld(BA_OS) )使用其他可重定位和共享的对象文件处理共享对象文件,以创建另一个对象文件。第二,动态链接器将其与可执行文件和其他共享对象组合起来,以创建进程映像。

矛盾的是,他说对象文件和图像文件都是ELF格式&他根本没有区分对象文件和图像文件,而是通常将它们称为对象文件。这不对吗?

Q3.我知道PE是从COFF派生出来的。但是为什么微软的PE格式规范被命名为“和公共对象文件格式规范”。他们还支持COFF吗?如果他们,在哪个操作系统?我以为PE很久以前就完全取代了COFF了。

EN

Stack Overflow用户

发布于 2010-01-31 07:01:37

gcc -c将在Linux系统上生成一个.o文件,这是一个精灵格式的对象文件。"ELF 32位LSB可重定位,Intel 80386,version 1 (SYSV)“是如何用文件命令在我的机器上描述.o文件的。

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2170818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档