Структура исполняемого файла Windows - PullRequest
3 голосов
/ 17 августа 2011

Я знаю, что обычно в объектном файле есть секции кода, данных, кучи и стека.
Но я хочу знать, как это устроено в исполняемых файлах Windows и Linux.
Я искал в интернете и нашел какую-то структуру.
Я понял, что .text для кода и .data для глобальных переменных.
Я хочу знать, что это за стек и куча на платформах Linux и Windows?
Кто-нибудь может сказать мне структуры исполняемого файла ??

Заранее спасибо ...

1 Ответ

3 голосов
/ 17 августа 2011

Это спецификация, выпущенная Microsoft:

http://msdn.microsoft.com/en-us/windows/hardware/gg463119

Также это хорошее чтение по этому вопросу: http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

РЕДАКТИРОВАТЬ:

Stack / Heap - это структуры в памяти, которые создаются / изменяются во время выполнения, поэтому по сути их нет в самом файле - их не может быть.Думайте о них как об особом месте в памяти, где каждая программа может хранить данные времени выполнения, а под данными времени выполнения я имею в виду переменные.вызовы функций, возвращаемые значения и все мелкие мелочи, происходящие на низком уровне.

...