Страница 1 из 1

Выгрузка DLL

Добавлено: 10 Март 2010, 9:33
Admin
Запустил программу с сети, первоначально грузится секунд 10. Вышел.
Повторный запуск занимает 1 секунду.
В чем дело? В том что в кеше лежат загруженные с сети DLL или в том что при выходе из программы DLL некоторое время остаются висеть в памяти!?
Я так понимаю если я могу удалить DLL значит она выгружена из памяти?

Желательно обяснить подробнее и применительно к Clarion`у

Спасибо.

Re: Выгрузка DLL

Добавлено: 16 Март 2010, 18:22
WadimZapara
OS - Win7 ? или под любой ?
ну да, если DLL удалить разрешает - значит выгружена и все дескрипторы закрыты.
Клаша тут не при кухне. Это ось.

А в папку \WINDOWS\system32\dllcache\ не попадают ли DLL-ки ? оттуда быстро!
У семёрки дополнительная оптимизация есть.

И ещё - если DLL-ки обеспечивают какую-то сетевую работу, связанную с широковещательными рассылками (типа поиск сетевого адреса/маршрута), то тоже вполне объяснимо: при первом запуске вся эта работа сетевая проделывается, рассылаются не только высокоуровневые пакеты TCP, но и низкоуровненвые (напр. ARP), а при повторном запуске - вся эта сетевая работа с низкоуровневыми протоколами уже проделана, а её результаты находятся в сетевом кэше, поэтому при повторном запуске рутинные процедуры, например, по поиску адресата сетевого сообщения, не выполняются, а берутся данные из кэша.

Как-то так