请问如何理解ELF文件的具体结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3518个文字,预计阅读时间需要15分钟。
ELF文件结构包含目标文件(.o)、可执行文件(可直接运行)、静态链接库、动态链接库、核心转储文件等。
ELF文件结构ELF文件的全称是Executable and Linkable Format,直译为“可执行可链接格式”,包括目标文件(.o)、可执行文件(可以直接运行)、静态链接库、动态链接库、核心转储文件(core dump)。ELF文件的定义可以在/usr/include/elf.h中找到,本文主要介绍ELF64,ELF文件通常由下列部分组成:
-
ELF头(ELF header):放在ELF文件开头,描述该文件信息。
-
节头表(Section header table):包含对节(section)的描述,对于可重定位文件(relocatable files)是必须的,对于可装载文件(loadable files)是可选的。
-
程序头表(Program header table):对于可装载文件(loadable files)是必须的,对于可重定位文件(relocatable files)是可选的。用来描述加载程序或动态链接库所需要的段(segments)和其他数据结构。
-
节或段的内容,包括符号表等。
本文共计3518个文字,预计阅读时间需要15分钟。
ELF文件结构包含目标文件(.o)、可执行文件(可直接运行)、静态链接库、动态链接库、核心转储文件等。
ELF文件结构ELF文件的全称是Executable and Linkable Format,直译为“可执行可链接格式”,包括目标文件(.o)、可执行文件(可以直接运行)、静态链接库、动态链接库、核心转储文件(core dump)。ELF文件的定义可以在/usr/include/elf.h中找到,本文主要介绍ELF64,ELF文件通常由下列部分组成:
-
ELF头(ELF header):放在ELF文件开头,描述该文件信息。
-
节头表(Section header table):包含对节(section)的描述,对于可重定位文件(relocatable files)是必须的,对于可装载文件(loadable files)是可选的。
-
程序头表(Program header table):对于可装载文件(loadable files)是必须的,对于可重定位文件(relocatable files)是可选的。用来描述加载程序或动态链接库所需要的段(segments)和其他数据结构。
-
节或段的内容,包括符号表等。

