孫鑫VC課程 動態鏈結庫學習筆記

2021-04-17 18:10:13 字數 1284 閱讀 6928

動態鏈結庫學習筆記

一.使用dumpbin在命令窗體檢視dll資訊

1.1檢視dll的匯出函式

當前工程目錄下/debug/dumpbin -exports ***.dll

1.2檢視可執行程式用到的動態庫,以及相關的函式資訊

1.2.1

當前工程目錄下/debug/dumpbin -imports ***.exe

1.2.2

使用工具depends檢視

二.編寫win32動態鏈結庫

2.1使用關鍵字匯出

2.1.1

建立win32 空dll,並新增入口函式dllmain(可以不寫,系統呼叫會自動新增)

2.1.2

建立動態庫名.h檔案,對匯出函式,類,變數進行原型宣告

2.1.3

建立動態庫名.cpp檔案,對函式,類,變數進行定義

2.1.4

使用匯出關鍵字

2.2使用.def檔案

三.動態鏈結庫的呼叫

3.1靜態呼叫

3.1.1 ***.h

載入包含匯入函式的標頭檔案,並將該檔案放在工程同一目錄下

3.1.2 ***.lib 動態庫索引檔案,通常放在工程同一目錄下

pragma comment(lib, "***.lib")

3.1.3 ***.dll 動態庫檔案,放在debug或release目錄下

注:應用程式呼叫dll的查詢路徑順序

1.查詢

debug/release

2.查詢

winnt/system32/

3.查詢系統環境變數

4.查詢

vc工程包含的子目錄

3.2動態呼叫

3.2.1

載入動態庫

3.2.2

獲得匯出函式的指標

3.2.3

使用匯出函式

3.2.4

解除安裝動態庫

孫鑫VC課程 C 學習筆記

1.c 編譯器不允許在struct內部定義成員函式,c 編譯器則可以 c 編譯器定義的結構體和類的區別 結構體內部成員 資料和方法 都只能是公有的而class則預設是私有的 2.系統提供的預設建構函式是不帶任何引數的,只生成物件並不進行資料成員的初始化操作 class test 輸出結果是 5899...

VC 動態鏈結庫

mfc 一 建立dll 1 建立mfc動態鏈結庫,在第4部選擇 regular dll with mfc shared linked 型別,即建立與mfc動態鏈結的常規dll,可以被win32應用程式和mfc應用程式使用。2 新增函式。在生成的工程的test.h檔案中新增語句如下 extern c ...

動態鏈結庫學習筆記

lib 靜態鏈結庫 與dll 動態鏈結庫 採用的都是共享 的方式,當我們引用了lib,那麼lib中的指令會被直接包含在最終生成的exe檔案中,而我們若使用dll,該dll不必被包含在最終dll檔案中,exe檔案執行時可以 動態 地引用和解除安裝這個dll檔案,並且lib中不可包含其他lib和dll,...