Windows DLL 的搜索顺序

Dynamic-Link Library Redirection

通常情况下,应用程序加载DLL时的搜索路径顺序如下: 

  1. The directory from which the application loaded.
  2. The system directory.
  3. The 16-bit system directory.
  4. The Windows directory.
  5. The current directory.
  6. The directories that are listed in the PATH environment variable.

 当程序目录下有 “应用程序名.local”时,会优先在该目录下进行搜索:

假设要搜索的动态库名字为 mydll.dll, 当前程序的全路径为 c:\myapp\myapp.exe,

如果当前目录有一个 “myapp.exe.local” 的文件,并且有一个mydll.dll,

LoadLibrary 函数指定的路径为 “c:\program files\common files\system\mydll.dll”

则此时的搜索路径以当前目录为先,最终加载的是 c:\myapp\mydll.dll,只有在这个目录下没有时,才会加载 “c:\program files\common files\system\mydll.dll” 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值