Как двоичный исполняемый файл узнает свое местоположение в памяти? - PullRequest
1 голос
/ 01 марта 2012

При загрузке двоичного исполняемого файла в память его можно разобрать или даже просмотреть с помощью шестнадцатеричного редактора и символов из кода сборки. Они всегда начинаются с чего-то вроде 0x804 ... который я предполагаю, это раздел памяти программы. Но мой вопрос заключается в том, что поскольку эти адреса не являются, скажем, смещениями с начала программы, как двоичный файл узнает, где он будет загружен в память?

1 Ответ

0 голосов
/ 01 марта 2012

Исполняемые файлы обычно имеют заголовок, в котором одно из полей является адресом загрузки.

...