| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > EXE загружает Dll, Dll загружает EXE |
| Автор: ivan219 10.10.2006, 17:30 |
| Вобщем такое дело: Есть EXE который экспортирует процедуры и Dll которая эти процедуры импортирует (статическая загрузка EXE) также в Dll есть процедуры которые она экспортирует а EXE их импортирует (динамическая загрузка Dll). Получается кольцо EXE export->Dll import и Dll export->EXE import так вот сколько обектов EXE и Dll в памяти так как этих Dll уменя будет много и каждая будет загружать свой EXE (статически) получается что уменя будет столькоже EXE+1 сколько Dll в памяти или это не так |
| Автор: Alexeis 10.10.2006, 19:53 |
| ivan219, Использование exe в качестве dll не документировано, но даже руководствуясь общими приципами можно сказать так. Копия Dll в памяти создается только если были изменены ее внутренние перемненные. До тех пока ни одна из переменных не изменена все пользуются одной общей копией в памяти. Но отображается она для каждого процесса в его адресное пространство. Т.е. логически сколько процессов, столько и копий dll. |
| Автор: Romikgy 11.10.2006, 08:54 | ||
нет , если ты юзаем kernel32.dll то она 2 раз не загружается! то бишь если dll есть в памяти она не грузится , а твой ехе уже есть в памяти, имхо идет просто обращение к его таблице экспорта |
| Автор: Yanis 11.10.2006, 17:56 |
С чего ты взял, что структура PE файлов недокументирована? В том плане всё впорядке. |