在本文件第页。它说文本段从
0x400000。为什么选择这个地址?有吗
原因是什么?在Linux
上的GNU-ld
中选择相同的地址:
$ld-verbose | grep-i文本段
提供(uuu可执行文件u start=段u start(“文本段”,0x400000));=段_开始(“文本段”,0x400000)+SIZEOF_头;
令人惊讶的是,在32位x86可执行文件中,这个地址比这个地址大:
$ld-verbose | grep-i文本段
提供(uuu可执行文件_start=段_start(“文本段”,0x08048000));=段_开始(“文本段”,0x08048000)+SIZEOF_头;
我阅读了这个问题,其中讨论了为什么选择0x0800xxxxx地址
对于i386,但它不能解释x86_64中的更改。很难找到
关于那件事的任何解释。有人有线索吗
answer=“39692117”的数据