目前主流的可执行文件 格式 有 两种, Windows 平 台下 的 PE 文件 格式 和 Linux 平 台下 的 ELF 文件 格式。

Linux 使用 ELF 作为 目标 文件 的 格式。 从前 Linux 中 目标 文件 以 a. out 格式 为主, 不过 由于 a. out 格式 不能 很好 地支 持 动态链接以及 C++, 因此其主流地位 逐渐被 ELF 格式所取代。

 

在 Linux 平台 下, 除了 可执行文件( Executable File), 可重定位目标文件( Relocatable Object File)、 共享目标 文件( Shared Object File)、 核心转储文件( Core Dump File) 也是 ELF 格式 的 文件。

ELF文件格式

在 ELF 文件 中, 保存的最关键的信息 是 程序中的 代码 和 数据。 一般 的, 程序的代码 以 二进制指令 的 形式保存 在代码段(. text) 中, 程序的数据 以二进制的形式 保存在 数据段(. data)或“. bss” 段中。    ELF 文件 的 其他结构, 一般用于对 ELF 文件内容进行管理, 为 链接 器、 加载 器、 调试器、 操作系统等提供必要的信息。

在 Linux 系统 的“/ usr/ include/ elf. h” 头 文件 中, 定义了 ELF 文件涉及的所有数据结构.

 

相关文章:

  • 2021-08-07
  • 2022-12-23
  • 2021-07-02
  • 2021-11-29
  • 2021-06-25
  • 2021-06-03
  • 2021-08-01
猜你喜欢
  • 2022-12-23
相关资源
相似解决方案