ELF文件格式
Linux ELF ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的。扩展名为elf。工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。应该减少不同执行接口的数量。因此可以减少重新编程重新编译的代码。
编辑本段文件格式
Linking View Elf header
Program header table optional
section1
……
section n
section header table
Exection View Elf header
Program header table
segment 1
section 2
……
segment header table
一个ELF头在文件的开始,保存了路线图(road map),描述了该文件的组织情况。sections保存着object 文件的信息,从连接角度看:包括指令,数据,符号表,重定位信息等等。特别sections的描述会出项在以后的第一部分。第二部分讨论了段和从程序的执行角度看文件。 假如一个程序头表(program header table)存在,那么它告诉系统如何来创建一个进程的内存映象。被用来建立进程映象(执行一个程序)的文件必须要有一个程序头表(program header table);可重定位文件不需要这个头表。一个section头表(section header table)包含了描述文件sections的信息。每个section在这个表中有一个入口;每个入口给出了该section的名字,大小,等等信息。在联接过程中的文件必须有一个section头表;其他object文件可要可不要这个section头表。 注意: 虽然图显示出程序头表立刻出现在一个ELF头后,section头表跟着其他section部分出现,事实是的文件是可以不同的。此外,sections和段(segments)没有特别的顺序。只有ELF头(elf header)是在文件的固定位置。
ELF文件格式是什么?
在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储的标准文件格式. 是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式. ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table).实际上,一个文件中不一定包含全部内容,而且他们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息有ELF头中的各项值来决定.
elf 是什麽格式的文件?
elf是什么意思
elf是什么意思?可以打开他的程序是什么?在那可以下载到?
ELF类型
三种主要的ELF文件类型:
.可执行文件:包含了代码和数据。具有可执行的程序。
例如这样一个程序
# file dltest
dltest: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped
.可重定位文件:包含了代码和数据(这些数据是和其他重定位文件和共享的object文件一起连接时使用的)
例如这样文件
# file libfoo.o
libfoo.o: ELF 32-bit LSB relocatable, Intel 80386, version 1,
not stripped
.共享object文件(又可叫做共享库):包含了代码和数据(这些数据是在连接时候被连接器ld和运行时动态连接器使用的)。动态连接器可能称为ld.so.1,libc.so.1 或者 ld-linux.so.1。
例如这样文件
# file libfoo.so
libfoo.so: ELF 32-bit LSB shared object, Intel 80386, version
1, not stripped
ELF section部分是非常有用的。使用一些正确的工具和技术,程序员就能熟练的操作可执行文件的执行。
ELF是非常灵活的二进制格式。
它提供了非常有用的功能。这种规范没有给程序和程序员太多限制。它使创建共享库容易,使动态装载和共享库的结合更加容易。在ELF下,在C++中,全局的构造函数和析构函数在共享库和静态库中用同样方法处理。
解压elf.zip后,直接运行elf.exe即可。
EXECUTABLE AND LINKABLE FORMAT (ELF) Portable Formats Specification, Version 1.1 Tool Interface Standards (TIS) ________________________________________________________________ =========================== Contents 内容=========================== 序言 1. OBJECT文件 导言 ELF头(ELF Header) Sections String表(String Table) Symbol表(Symbol Table) 重定位(Relocation) 2. 程序装载与动态连接 导言 Program头(Program Header) Program装载(Program Loading) Dynamic连接(Dynamic Linking) 3. C LIBRARY C Library ________________________________________________________________ 导言 ________________________________________________________________ ELF: 可执行连接格式 可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口 (Application Binary Interface(ABI)而开发和发布的。工具接口标准委 员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操 作系统之间可移植的二进制文件格式。 假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件 发展。 应该减少不同执行接口的数量。因此可以减少重新编程重新编译的 代码。 关于这片文档 这篇文档是为那些想创建目标文件或者在不同的操作系统上执行文件的开发 着准备的。它分以下三个部分: * 第一部分, “目标文件Object Files”描述了ELF目标文件格式三种主要 的类型。 * 第二部分, “程序转载和动态连接”描述了目标文件的信息和系统在创建 运行时程序的行为。
E.L.F是什么意思呢?
E.L.F是ever lasting friends的首字母缩写
代表永不结束的朋友
是希望歌迷和自己成为永远的朋友
因为E.L.F在英语中有妖精、精灵的意思
所以SJ的歌迷自称妖精、台湾的叫精灵
物种名称:E.L.F
(缩写于:EverLasting Friends)
物种属科:精灵科
物种分布:遍布世界各大洲,其中以亚洲居多
(且该物种数量还在持续增长中… )
物种寿命:自公元2005.11.06该物种被发现以来至永远
物种习性:常出没于Super Jr.成员出现的任何角落
及Super Jr.各大论坛等地
出现时常披宝蓝色皮肤
物种特点:美丽如特;耀眼如澈;善良如庚;才华如声;
开朗如强;亲切如童;可爱如民;单纯如赫;
率真如海;谦虚如源;乖巧如旭;懂事如范;坚强如奎。
物种宗旨:永远以:super junior only 13!作为最终信念~
物种传说:自2005.11.06以来始终为维护世界和平和家族成员的身心健康,
团结一心的与以李秀满为首的SM黑暗特工队进行正义与邪恶的较量… …
当然最后的结局正义的一方E.L.F大获全胜!
E.L.F.是什么意思?
Ever last friends 永远的朋友 是李特给SJ的歌迷起的名字