链接器如何知道去哪里找到dll文件

问题描述 投票:0回答:1

我正在使用 Visual Studio,我正在尝试进入 dll。我想知道链接器如何知道在哪里可以仅从 lib 文件中找到 DLL。 我在项目设置中指定了 lib 文件及其位置,但是指定的关联 dll 文件的位置在哪里? 或者也许我没有正确理解这个主题。

c++ dll
1个回答
3
投票

Microsoft Dll 搜索顺序文档中的桌面应用程序的标准搜索顺序

如果启用SafeDllSearchMode,则搜索顺序如下:

  1. 应用程序加载的目录。
  2. 系统目录。使用 GetSystemDirectory 函数获取该目录的路径。
  3. 16位系统目录。没有函数获取这个目录的路径,但是搜索到了。
  4. Windows 目录。使用 GetWindowsDirectory 函数获取该目录的路径。
  5. 当前目录。
  6. PATH 环境变量中列出的目录。请注意,这不包括由“App Paths”注册表项指定的每个应用程序路径。计算 DLL 搜索路径时不使用 App Paths 键。
如果禁用
SafeDllSearchMode

,则搜索顺序如下:

应用程序加载的目录。
  1. 当前目录。
  2. 系统目录。使用
  3. GetSystemDirectory
  4. 函数获取该目录的路径。 16位系统目录。没有函数获取这个目录的路径,但是搜索到了。
  5. Windows 目录。使用
  6. GetWindowsDirectory
  7. 函数获取该目录的路径。 PATH 环境变量中列出的目录。请注意,这不包括由“App Paths”注册表项指定的每个应用程序路径。计算 DLL 搜索路径时不使用
  8. App Paths
  9. 键。
© www.soinside.com 2019 - 2024. All rights reserved.