DLL поиск по окнам - PullRequest
       14

DLL поиск по окнам

12 голосов
/ 17 марта 2010

В linux у нас есть переменные окружения LIBRARY_PATH и LD_LIBRARY_PATH, чтобы программы могли искать библиотеки. У нас есть похожие вещи на окнах? В частности, Windows 7?

Кроме того, я хотел бы знать лучшие практики использования DLL (куда их помещать, использовать envs или нет и т. Д.), Поскольку я хочу работать с окнами, как все, а не лениться при обходных решениях :)

Ответы [ 3 ]

13 голосов
/ 01 июля 2011

В этой статье MSDN объясняется порядок поиска по умолчанию. Я цитирую:

  1. Каталог, указанный в lpFileName.
  2. Системный каталог. Используйте функцию GetSystemDirectory, чтобы получить путь к этому каталогу.
  3. 16-битный системный каталог. Не существует функции, которая получает путь к этому каталогу, но она ищется.
  4. Каталог Windows. Используйте функцию GetWindowsDirectory, чтобы получить путь к этому каталогу.
  5. Текущий каталог.
  6. Каталоги, перечисленные в переменной среды PATH. Обратите внимание, что сюда не входит путь для каждого приложения, указанный в разделе реестра «Пути к приложениям» Ключ App Paths не используется при вычислении пути поиска DLL.

В (1), если вы статически связаны с библиотекой заглушки DLL, я думаю, что «каталог, указанный в lpFileName» - это путь к exe процесса.

2 голосов
/ 17 марта 2010

Посмотрите на справку для функций LoadLibrary и CreateProcess . Они описывают пути, используемые для поиска библиотек DLL, и способы их изменения.

0 голосов
/ 17 марта 2010

Сначала он смотрит на currentDir, затем на ваш путь также WinDir и SystemDir

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...