2012-05-30 41 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

相關問題