计算机原理系列之二 -------- 详解ELF文件

欢迎访问我的个人博客: luomuxiaoxiao.com


一、ELF文件类型
二、ELF文件结构

  1. ELF Header
  2. Section
  3. Section Header Table
  4. Program Header Table

三、实践
四、总结
五、参考阅读

下面我们介绍一种文件格式:ELF格式,全名为可执行和可链接格式(Executable and Linkable Format)。维基百科中这样描述:

在计算机科学中,ELF文件是一种用于可执行文件、目标文件、共享库和核心转储(core dump)的标准文件格式。其中核心转储是指: 操作系统在进程收到某些信号而终止时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。

一、ELF文件类型

通俗点说由汇编器和链接器生成的文件都属于ELF文件。通常我们接触的ELF文件主要有以下三类:

  • 可重定位文件relocatable file) 它保存了一些可以和其他目标文件链接并生成可执行文件或者共享库的二进制代码和数据。
  • 可执行文件excutable file)它保存了适合直接加载到内存中执行的二进制程序。
  • 共享库文件shared object file)一种特殊的可重定位目标文件,可以在加载或者运行时被动态的加载进内存并链接。

总之,ELF文件是一种文件格式。但凡是一种格式,总要有一些规则,下面我们来介绍ELF文件的格式规则。

二、ELF文件结构

一个典型的ELF文件包括ELF HeaderSectionsSection Header TableProgram Header Table。其位置分布如下图所示:
ELF文件构成

图1 ELF文件构成
### 1. ELF Header

每个ELF文件都存在一个ELF Header用来描述其结构和组成。ELF Header其实对应的是一个结构体,该结构体定义如下:

请点击此处继续阅读


想第一时间查看我的文章吗?请关注我的微信公众号号,搜索“落木萧萧技术论坛”或登陆我的个人博客:www.luomuxiaoxiao.com,更多精彩文章等你。

qrcode


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部