Статическая загрузка dll
От: shdave Россия  
Дата: 20.04.06 08:15
Оценка:
Добрый день!
Есть проект в которой подключаюстя заголовочные файлы следующего содержания:
...
EXTERN__C TCC_ITCS_Export
LONG TCC_ITCS_STDCALL EXT_Encrypt (
EXT_FULL_CONTEXT * pContext,
EXT_CRYPT_CONTEXT * pCryptContext,
EXT_CALLBACK_DATA * pCallBackData );
...
при вызове функции EXT_Encrypt все работает замечательно, НО при этом dll в которой содержиться данная функция должна лежать либо в каталоге с исполняемым файлом либо нужно прописывать в переменной PATH тот путь по которому будет находиться данная dll.

Что нужно, нужно загружать функцию EXT_Encrypt но dll при этом будет в подкаталоге главного пути программы например ...\Crypt\decrypt.dll

Можно переписать используя динамическую загрузку, LoadLibrary и конкретно указывать путь к dll, но хотелось бы не делать лишную работу, возможно решение на поверхности, буду рад любым коментариям!

22.04.06 02:02: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Статическая загрузка dll
От: Alter_ Украина http://alter.org.ua
Дата: 23.04.06 08:27
Оценка:
Здравствуйте, shdave, Вы писали:

S>Можно переписать используя динамическую загрузку, LoadLibrary и конкретно указывать путь к dll, но хотелось бы не делать лишную работу, возможно решение на поверхности, буду рад любым коментариям!


Нужно переписать, т.к. если не указан путь к библиотеке (что имеет место быть при статической линковке) винда ищет в следующих местах (MSDN рулит):

1. The directory from which the application loaded.
2. The current directory.
3. Windows 95/98/Me: The Windows system directory. Use the GetSystemDirectory function to get the path of this directory.
Windows NT/2000 or later: The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory. The name of this directory is SYSTEM32.

4. Windows NT/2000 or later: The 16-bit Windows system directory. There is no function that obtains the path of this directory, but it is searched. The name of this directory is SYSTEM.
5. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
6. The directories that are listed in the PATH environment variable.
--
Alter, http://alter.org.ua
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.