Afro Опубликовано 20 июня, 2015 Поделиться Опубликовано 20 июня, 2015 (изменено) Как я понимаю: в OptinalHeader задаются выравнивания секций относительно файла(fileAligment) и относительно секции(sectionAligment). То есть секции располагаются в адресах кратных этим выравниваниям.На деле же получается вот что:Сначала думал что размер всех секций одинаков, тот который указывается в выравниваниях, теперь понял, что это бред и что могут быть разными.Я правильно понимаю, если секция заканчивается в адресе не кратном выравниванию, то память выделяется до тех пор пока не дойдёт до нужного адреса?Если да, то зачем такие замуты, почему бы не начать секцию сразу за предыдущей?И зачем нужно смещение относительно файла, разве не достаточно только от секции? Изменено 20 июня, 2015 пользователем Afro Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 20 июня, 2015 Поделиться Опубликовано 20 июня, 2015 Могу посоветовать почитать Джеффри РИХТЕР WIndows для профессионалов. Вся ЧАСТЬ III УПРАВЛЕНИЕ ПАМЯТЬЮ ГЛАВА 13 Архитектура памяти в WindowsГЛАВА 14 Исследование виртуальной памятиГЛАВА 15 Использование виртуальной памяти в приложенияхГЛАВА 16 Стек потокаГЛАВА 17 Проецируемые в память файлыГЛАВА 18 Динамически распределяемая память Также все остальное по желанию и другая информация из MSDN, Гугля и прочее... Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 20 июня, 2015 Поделиться Опубликовано 20 июня, 2015 если пишешь лоадер, читай:https://msdn.microsoft.com/en-us/library/ms809762.aspx Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения