[Tips] Windows搜尋 DLL的順序

來源:互聯網
上載者:User

 

佛曰,凡事必有因果。

 

# 因

最近在寫一個Desktop Application,想好好組織一把Main Application, Plugins和其他dependencies的檔案夾結構,所以需要好好瞭解一把Windows的Dll 搜尋順序.

至於Mac或者Linux,搞不懂,以後再說吧。

 

# 一般搜尋順序

一般而言,Windows 按下列順序搜尋 DLL:

  1. 當前進程的可執行模組所在的目錄。

  2. 目前的目錄。

  3. Windows 系統目錄。 GetSystemDirectory 函數檢索此目錄的路徑。

  4. Windows 目錄。 GetWindowsDirectory 函數檢索此目錄的路徑。

  5. PATH 環境變數中列出的目錄。

 

# Safe Dll Search mode

在Window說中還有一個Safe Dll Search Mode,對於搜尋順序會產生影響.

我們可以通過建立註冊表選項來啟用或者禁用:

      HKLM\System \CurrentControlSet\Control\Session Manager\SafeDllSearchMode

在MSDN上有一篇文章《Dynamic-Link Library Search Order》,對於這個事情有比較詳細的解釋。以後有時間或者疑問的時候可以好好看看的。

 

# Reference

[Dynamic-link library search order] (http://msdn.microsoft.com/en-us/library/ms682586%28VS.85%29.aspx)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.