ELF文件

在windows系统上可执行文件都是.exe格式的,我们再看看main的文件格式是什么
还是ELF文件,不过它与之前的main.o多了dynamically linked和后面的一些内容
在这里插入图片描述
wiki对ELF的解释

可执行与可链接格式 (英语:Executable and Linkable Format,缩写为ELF),常被称为ELF格式

在《LinuxC编程一站式学习》中对ELF文件解释是这样的
在这里插入图片描述
总结一下ELF文件格式其实就是Linux中可执行文件的统一格式(相比于Windows中的.exe文件)
ELF的文件格式是这样的,
在这里插入图片描述

先不看左右的内容,从上往下看依次是ELF header,program header table … section header table…
ELF header存储着体系结构和操作系统等基本信息,并指出Section Header Table 和 Program Header Table在文件中的什么位置。

实际上ELF文件格式提供了两种不同的视角,左右就是从不同视角来看ELF文件。
我们先看右边的内容,在加载器(Loader)看来,ELF是由program header table描述的一系列segments的集合,section header table在加载时没有用到,所以是可有可无的
而左边就是从汇编器和链接器的视角来看这个文件,ELF是由多个section组成的,Program Header Table在编译和链接时没有用到,同样是可有可无的

再往下分析就涉及到汇编的知识了,我没学过,就不写了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值