ELF文件格式
我看到一本书上说elf header位与elf文件的开头,但是program header里的offset值为0,也就是说该段的第一个字节在elf文件中的偏移为0,那么elf header与程序段不是互相覆盖了吗?请问是什么原因?谢谢 这是两个概念,1elf header是一定存在于文件的开始的位置
2program header只存在于可执行文件,而且它的那个p_offset所值的文件,也不是elf文件,是实际的内存中地址
比如:
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSizFlg Align
LOAD 0x000000 0x08048000 0x08048000 0x004a0 0x004a0 R E 0x1000
这里的LOAD segment,offset是0,但是那是指相对于程序开始的位置:0x8048000而言,而不是elf文件的开始的位置。
页:
[1]