Windows DLL的搜索路径

2022-12-10  本文已影响0人  CodingCode

假定安全DLL搜索模式启用(这是缺省设置),搜索顺序如下:

  1. 应用程序所在的路径。
  2. Windows SYSTEM目录。
    即,通过调用GetSystemDirectory函数获取的目录。
  3. Windows目录。
    即,通过调用GetWindowsDirectory函数获取的目录。
  4. 当前目录
  5. PATH环境变量指定的路径。

这个地方好奇怪的是windows使用PATH来指定库的搜索路径,难道windows任务DLL就是EXE,EXE就是DLL吗?作为Unix程序员好像很不理解。

另外如果查看exe依赖的dll:

  1. 使用命令行dumpbin /depends <exe>
  2. 使用工具应用Dependency Walker (depends.exe)来。

甚至只能检查静态依赖,无法检测动态依赖,当前哪一个具体的DLL加载出问题,完全没有ldd命令这么好用。

上一篇 下一篇

猜你喜欢

热点阅读