Сделать, чтобы некоторые DLL ки загружались при старте и больше не выг

Sebasten

ружались. Есть прога, которая использует 5 своих DLL файлов, и никакие другие их не используют больше, в итоге она запускается и закрывается по 20 секунд, можно как-нибудь сделать так (Winndows 2000 Professional SP4 чтобы эти DLL постоянно были в памяти, ну или как-нибудь вообще ускорить процесс перезапуска. Заранее спасибо.

maggi14

Можно, не вопрос Напиши за 10 мин прогу, которая занимается исключительно загрузкой длл, и пропиши ее в стартап.

Sebasten

Как бы всё реально, вот только
"10 мин"). Ща попробуем... Спасибо

AlexV769

regsvr32.exe

Sebasten

Говорят, что она только комовские дллки регистрирует, вроде правда

psm-home

Может стоит попробовать запихать твои DLL вот сюда?
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs  
web page

Sebasten

Спасибо!
Не подскажешь, как можно посмотреть все DLL которые загружены?
Как ты нашёл эту статью?
Что делает функция LoadLibrary(LPSTR вроде она ничего толком и не делает?
Очень хочется чтобы эти тупые DLL ки были точно в оперативной памяти)

psm-home

как можно посмотреть все DLL которые загружены?
Например можно использовать бесплатную утилиту listdlls.exe от www.sysinternals.com.

S:\sysinternals>listdlls.exe /?

ListDLLs V2.23 - DLL lister for Win9x/NT
Copyright (C) 1997-2000 Mark Russinovich
http://www.sysinternals.com

usage: listdlls [-r] [processname|pid]
usage: listdlls [-r] [-d dllname]
processname Dump DLLs loaded by process (partial name accepted)
pid Dump DLLs associated with the specified process id
dllname Show only processes that have loaded the specified DLL.
-r Flag DLLs that relocated because they are not loaded at
their base address.
Как ты нашёл эту статью?
Поиском по MS Knowledge Base. Я откуда-то помнил слово KnownDLLs.
Что делает функция LoadLibrary(LPSTR)
The LoadLibrary function maps the specified executable module into the address space of the calling process.
вроде она ничего толком и не делает
А чего бы тебе хотелось от неё?

Sebasten

Ещё раз спасибо.
А чего бы тебе хотелось от неё?
"Очень хочется чтобы эти тупые DLL ки были точно в оперативной памяти)"

bleyman

Ну...
Можешь отключить своп.

Marinavo_0507

Разве страницы кода не выкидываются, чтобы освободить память?
Их же всегда можно подгрузить из файла?
Или в виндовых DLL код position dependent, и хитро модифицируется при загрузке?

bleyman

Или в виндовых DLL код position dependent, и хитро модифицируется при загрузке?
Да нет, вроде. Они вроде в собственном адресном пространстве живут...
В винде прога может модифицировать свой код в памяти. Поэтому совсем выгружать можно только неиспользуемые дллки, а используемые можно скинуть в своп.

Marinavo_0507

> В винде прога может модифицировать свой код в памяти.
Может, или обязана?
Имхо первое.
И мало кто так делает, иначе хвалёный NX-бит никто б не стал придумывать.
Оставить комментарий
Имя или ник:
Комментарий: