在 Visual C++ 專案中使用動態連結庫 (DLL) 時,有多種連結方式可供選擇。本文簡要說明五種常見方法,各有優缺點,開發者可根據專案需求選擇。
使用 Windows API 手動載入、取得函數位址、釋放 DLL:
HINSTANCE LoadLibrary(LPCTSTR lpLibFileName); — 載入 DLLFARPROC GetProcAddress(HMODULE hModule, LPCSTR lpProcName); — 取得函數/變數位址BOOL FreeLibrary(HMODULE hLibModule); — 釋放 DLL這是最直觀但也最繁瑣的方法,適合需動態決定載入哪個 DLL 或延遲載入的情境。
讓呼叫端專案相依於 DLL 專案:
Project → Dependencies。此法方便,但要求擁有 DLL 的專案檔 (原始碼專案)。
將 DLL 建置產生的 .lib 匯入庫檔案直接加入呼叫端專案中 (專案右鍵 → Add → Existing Item)。
Project → Settings → Link (VC6) 或 Project → Properties → Linker → Input (VC7+)。.lib 檔名。.lib 所在路徑。在原始碼中直接指定匯入庫:
#pragma comment(lib, "MyDll.lib")
此法簡潔,編譯器會自動將指定的庫加入連結清單。