elf文件

阅读数:16 评论数:0

跳转到新版页面

分类

Linux

正文

在Unix和x86-64 Linux上,ELF(Executable and Linkable Format),ELF文件格式提供了两种不同的视角,在汇编器和链接器看来,ELF文件是由Section Header Table描述的一系列Section的集合,而执行一个ELF文件时,在加载器(Loader)看来它是由Program Header Table描述的一系列Segment的集合。

注意Section Header Table和Program Header Table并不是一定要位于文件开头和结尾的,其位置由ELF Header指出,上图这么画只是为了清晰。

目标文件需要链接器做进一步处理,所以一定有Section Header Table;可执行文件需要加载运行,所以一定有Program Header Table;而共享库既要加载运行,又要在加载时做动态链接,所以既有Section Header Table又有Program Header Table。

参考:https://blog.csdn.net/daide2012/article/details/73065204#commentBox

而Linux中elfutils-libelf就是用来读写elf文件的库。

 .o文件、可执行文件、core dump、.so文件都是ELF类型文件。