多于一个ELF程序头是什么意思

问题描述 投票:0回答:1

我有一个ELF文件,它有一个以上的程序头。如果我的理解没错,程序头保存着可执行的部分(程序的 _start那么剩下的是什么呢?

elf
1个回答
-1
投票

在elf文件中只能有一个 "程序头表",它由一个 "Elf_Phdr "对象数组组成,每个对象描述了程序中的一个片段。 有时人们会混淆,把每个段称为 "程序头"(因为Phdr的名字),但这其实并不准确。

程序头中的每个段都描述了一个需要为程序分配的内存块,并以某种方式进行初始化(一般来说要么归零,要么用精灵文件中的数据进行初始化),或者其他一些动态链接所需要的数据。 一个精灵程序可能只有一个段,但通常有多个段,以允许不同的读写和执行权限。

© www.soinside.com 2019 - 2024. All rights reserved.