2011-04-28 6 views
1

Мне интересно, что такое адресное пространство системных DLL-систем в операционных системах Microsoft Windows. Кроме того, если DLL перераспределяется, значит ли это, что приложения, использующие его, будут разбиваться?Адресное пространство системных DLL-адресов

ответ

3

Перемещение DLL является обычным явлением и просто означает, что DLL загружается в память в месте, которое не является предпочтительным базовым местоположением, указанным в DLL (обычно, поскольку другая DLL уже занимает часть адресного пространства, DLL «понравится»). Если DLL не делает некоторые серьезные ошибочные предположения о том, где она будет загружена, все должно быть хорошо, и никаких сбоев не произойдет.

Используйте ProcExp или аналогичные, чтобы видеть адресные пространства, используемые различными DLL процесса.

+2

Я бы добавил, что системные DLL-файлы _typically_ передают диапазон 0x70000000 и выше. –

+0

@Paul - приветствия, я избегал отвечать на эту часть, поскольку я не вдавался в базовые адреса годами. :) –

Смежные вопросы