2012-05-30 38 views
0

当我尝试加载.dll时,应用程序首先尝试从其本地文件夹加载.dll文件,如果不存在,他们会尝试使用%PATH%环境变量加载该文件。使用%PATH%加载.dll的顺序是否有保证?

我不介意操作系统是否正在进行其他搜索,但我对%PATH%环境变量中的搜索顺序感兴趣。

现在,让我们假设我有两个版本的dll,这两个dll的路径都在%PATH%环境变量中。

我保证在%PATH%环境变量中包含.dll的第一个路径是.dll将从哪里加载的路径?

10x。

+0

是......没有......它会搜索为了路径,但取决于操作系统,它也可以搜索其他路径,比如exe文件夹,windows目录等,不管它们是否在你的路径中。你可能想看看:http://stackoverflow.com/q/2463243/592182。 – forsvarir

回答

0

确切的顺序是在其中搜索DLL。

结帐这样的:

http://msdn.microsoft.com/en-us/library/7d83bc18%28v=vs.80%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx

UPDATE:

Windows将为了他们出现在PATH variable.Please注,即全PATH变量由两个部分组成搜索:

系统:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Sessio ñ经理\环境\ PATH

然后追加当前用户的PATH:HKEY_CURRENT_USER \环境\ PATH

+0

他们只说:5. PATH环境变量中列出的目录,但这些目录的顺序是什么? – sara

相关问题