vak: (Улыбка)
[personal profile] vak
Стартовый адрес программы в большинстве современных 32-битных операционных систем (Windows, Linux, BSD) равен 0x0400000? Понятно, что не ноль: чтобы обращение по нулевому указателю давало ошибку. Но почему именно 4 мегабайта? Этому есть вполне логичное объяснение.

В 64-битных системах другой начальный адрес, а именно 0x100000000 (4 гигабайта).

Date: 2014-10-14 08:34 (UTC)
From: [identity profile] b00ter.livejournal.com
Да, уже ткнули носом, спасибо. Я так понял, длина заголовка EXE - это просто "счастливое совпадение".

Date: 2014-10-14 08:38 (UTC)
From: [identity profile] dimorlus.livejournal.com
Длина у заголовка exe - любая, часть заголовка - это relocation table.