计算机原理系列之二 -------- 详解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
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值