Home 介紹 DLL (Dynamic Link Library)(2/2)(中文)
Post
Cancel

介紹 DLL (Dynamic Link Library)(2/2)(中文)

主要兩種使用方式

有顯式連結(Explicit Linking)和隱式連結(Implicit Linking),後續 都會有實際的範例一步一步示範。

現在主要介紹這兩種方式主要的不同,這樣才不會在後續的實作搞混。

顯式連結(Explicit Linking)

  1. 在程式執行期間,使用函式庫的函式前需要明確地載入 DLL 並獲取函式指標。
  2. 主要步驟包括載入 DLL、獲取函式指標、調用函式、釋放資源。
  3. 使用 LoadLibrary 和 GetProcAddress 函式來實現。
  4. 適用於需要更高程式碼彈性、更細粒度的控制、避免過多依賴的情況。
  5. 適用於開發靈活且高度可配置的程式。

隱式連結(Implicit Linking)

  1. 在編譯期間,將 DLL 的相關信息嵌入到可執行檔中,無需顯式地載入 DLL。
  2. 主要步驟包括包含相關的頭文件、將 .lib 檔案添加到連結器配置中、編譯時自動將 DLL 中的函式連結到程式中。
  3. 使用 #pragma comment(lib, "YourLibrary.lib") 或在專案設定中添加 .lib 檔案來實現。
  4. 適用於需要簡化開發流程、提高開發效率、降低開發者工作量的情況。
  5. 適用於開發速度較快、對程式碼結構要求不高的情況。

最簡單的分類方式就是否使用到 .lib 檔,在隱式連結時要使用 .lib 檔; 而顯式連結時則不需要。

☝ツ☝

This post is licensed under CC BY 4.0 by the author.

👈 ツ 👍