linux可执行文件格式6,linux可执行文件格式

ELF executable and linking format

Linux可执行文件格式

Elf 也就是 “Executable and Linking Format.”

Elf 起源于Unix,经改进应用于FreeBSD和Linux等现有类Unix操作系统。 微软的PE格式也学习了ELF格式的优点。

ELF文档服务于在不同的操作系统上目标文件的创建或者执行文件的开发。它分以下三个部分:

“目标文件”描述了ELF目标文件格式三种主要的类型。

“程序装载和动态连接”描述了目标文件的信息和系统在创建运行时程序的行为。

“C 语言库”列出了所有包含在libsys中的符号、标准的ANSIC和libc的运行程序,还有libc运行程序所需的全局的数据符号。

三种主要类型:

一个可重定位文件(relocatable file)保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享文件。

一个可执行文件(executable file)保存着一个用来执行的程序,该文件指出了exec(BA_OS)如何来创建程序进程映象。

一个共享目标文件(shared object file)保存着代码和合适的数据,用来被下面的两个链接器链接。第一个是链接编辑器,可以和其他的重定位和共享目标文件来创建另一个目标文件。第二个是动态链接器,联合一个可执行文件和其他的共享目标文件来创建一个进程映象。

1-269-jpg_6_0_______-332-0-0-332.jpg

ELF头

#define EI_NIDENT 16

typedef struct {

e_ident[EI_NIDENT]; e_type;

unsigned char Elf32_Half

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值