Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "WinAPI";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вниз

Чи можна вивантажити з пам'яті dll і як? Знайти схожі гілки


Alexander   (2002-11-10 11:13) [0]

Завантажую її в пам'ять не я і мені достеменно відомо, що вона вже не використовується. Вона, звичайно і сама через деякий час вивантажитися, але мені потрібно прискорити цей процес (uninstall програми)



Наезжалкин   (2002-11-10 11:54) [1]

Попробуйте FreeLibrary(). Сильная вещь!



Reindeer Moss Eater   (2002-11-10 12:23) [2]

Не поможет, хоть и сильная вешь.



Relict   (2002-11-10 13:57) [3]

а зачем её выгружать если она(dll) уже не используется
зразу смело удаляй
операционнка сама ее выгрузит как поступит команда на удаление
в чем проблемма то?



Song   (2002-11-10 14:16) [4]

GetModuleHandle()+FreeLibrary()
Стыдно должно быть, товарищ, такие вопросы задавать! ;-)



Aleksey Pavlov   (2002-11-10 14:39) [5]

Забавно, господа, получается у вас.
Постановка задачі:
"Загружаю её в память не я и мне достоверно известно, что она уже не використовується».
Можно сделать вывод, что счётчик ссылок обнулён и DLL находится в памяти только из-за "привычки" Windows ненадолго сохранять в памяти последнии загруженные физические образы DLL уже после обнуления ссылок на них.
Таким образом, попытка GetModuleHandle()+FreeLibrary() будет неудачной.
Насколько мне известно, документированных способов очистки физ. памяти из-под "обнулённой" DLL "вручную" не существует.
Система сама освободит память, когда потребуется.



Song   (2002-11-10 15:07) [6]

2Aleksey Pavlov © (10.11.02 14:39)
Можно сделать цикл постоянного исполнения FreeLibrary пока dll не будет вытащена.



Reindeer Moss Eater   (2002-11-10 15:24) [7]

Это лишь отменит отображение DLL в адресное пространство процесса, занятого циклическим выполнением FreeLibrary.

Если библиотека была загружена еще кем-то, то ничего реально не выгрузится.



kig   (2002-11-10 19:31) [8]

Если используется XP, то можно попробывать

CoFreeUnusedLibrariesEx
Unloads any DLLs that are no longer in use and whose unload delay has expired.

void CoFreeUnusedLibrariesEx(

DWORD dwUnloadDelay, //The unload delay for DLLs no longer in use

DWORD dwReserved //Reserved for future use

);

параметри
dwUnloadDelay
[in] The delay in milliseconds between the time that the DLL has stated it can be unloaded until it becomes a candidate to unload. Setting dwUnloadDelay=INFINITE uses the system default delay (10 minutes). Setting dwUnloadDelay=0 forces the unloading of any DLLs without any delay.

dwReserved

[in] Reserved for future use; must be zero.



Alex44   (2002-11-10 19:33) [9]

Windows cachiruet dll"s, i, v obshem, pravil"no delaet. IMHO, esli DLL ne zanyata ni kem drugim, to ona vygruzitsya, esli potrebovat" mnogo pamyati.



сторінки: 1 вся гілка

Форум: "WinAPI";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.58 MB
Час: 0.025 c
3-74580
ASDF
2002-12-04 11:53
2002.12.23
ADO MSSQL -> Row can not ...


3-74604
Mixvictor
2002-12-04 22:29
2002.12.23
Поставте фільтр ласка


1-74672
кістки
2002-12-13 04:01
2002.12.23
Як встановити DelphiXD6?


14-74944
_Nicola_
2002-12-02 15:40
2002.12.23
Як отримати канал передачі даних з шаленою швидкістю?


14-74983
Ketmar
2002-12-03 17:40
2002.12.23
де взяти вихідні для Q2 BSP Builder і супутніх tools?





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська