ELF是什么?

[kiosk@foundation0 Desktop]$ file /bin/passwd

/bin/passwd:

setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),

dynamically linked (uses shared libs), for GNU/Linux 2.6.32,

BuildID[sha1]=0x91a7160a019b7f5f754264d920e257522c5bce67, stripped

[kiosk@foundation0 Desktop]$

这里的 ELF是什么,我们可以参考一下网上的文档:

ELF, Executable and Linking Format, 是一种用于可执行文件、目标文件、共享库和核心转储的标准文件格式。 ELF格式是是UNIX系统实验室作为ABI(Application Binary Interface)而开发和发布的。

这里简单介绍一下相关历史:

- UNIX: 最初采用的格式为a.out,之后被System V中的COFF取代,最后则被SVR4中的ELF格式所取代。

- Windows: 采用的则是COFF格式的变种PE格式

- MAC OS X: 采用的是Mach-O格式

ELF有四种不同的类型:

1. 可重定位文件(Relocatable): 编译器和汇编器产生的.o文件,需要被Linker进一步处理

2. 可执行文件(Executable): Have all relocation done and all symbol resolved

except perhaps shared library symbols that must be resolved at run time

3. 共享对象文件(Shared Object): 即动态库文件(.so)

4. 核心转储文件(Core File):



推荐阅读更多精彩内容

  • ELF是什么币 eLf币是什么 虚拟货币虽然经过了一次大监管调整,但很多人还是对这种投资方式念念不忘的。市面上各种...
    天下第六阅读 6,613评论 0 0
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 5,835评论 0 27
  • 整理的时候发现,原来已经拖了这么多没更新了……(TT) 那,先更一波手帐拼贴好了~ 拼贴讲究的就是风格...
    pipibear阅读 272评论 1 3
  • 今天周末,和女儿待了一整天,感觉还是不错的。上午下晚班去接女儿下课,女儿回家后提出要和我下棋,估计这段时间和我们下...
    萌猫快乐阅读 25评论 0 1
  • - 01 - 前几天,有位男性朋友说他很想出轨,但是没有出轨对象,可他觉得自己迟早会出轨。 我不是苦口婆心那种人,...
    美丽30阅读 82评论 0 0