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. 使用 LoadLibraryGetProcAddress 函式來實現。
  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.

👈 ツ 👍