建立DLL Lib以及使用DLL Lib

2021-09-08 19:17:22 字數 780 閱讀 7604

1.要在生成dll檔案的同時生成lib檔案,函式宣告時前面要加__declspec(dllexport)。

可在標頭檔案中如下定義:

#ifndef __mydll_h

#define __mydll_h

#ifdef mydll_exports

#define mydll __declspec(dllexport)

#else

#define mydll __declspec(dllimport)

#endif

mydll int add(int a, int b);

class mydll myobject

;#endif

在mydll.cpp檔案中實現add函式時:

#include #define mydll_exports

#include "mydll.h"

int add(int a, int b)

myobject::myobject(int v):value(v){}

void myobject::print()

2.呼叫dll裡面的add函式時,專案中載入.h標頭檔案、lib之後編譯生成exe,並將dll放在執行程式(exe)同一級目錄下,這樣exe程式執行時可以自動載入該dll。

如果通過loadlibrary()手工載入dll的話,只需要dll檔案,不需要.h和.lib。詳見:

cc++學習指南-應用篇\dll_01

DLL lib檔案與dll檔案關係

windows下的動態庫,伴隨著乙個同名.lib檔案,當使用靜態載入的方式使用dll檔案時,需要用到該lib檔案,當使用動態方式使用dll檔案時,不需要該lib檔案。lib是編譯時的東西,在lib裡面包含了方法名和方法所在的dll名字,可以用dumpbin all lib檢視內容。dll是執行時的東...

DLL的建立使用以及注入

dll的入口函式 bool winapi dllmain hinstance hinstance,dword reason,lpvoid lpvreserved hinstance 該引數是當前dll模組的控制代碼,即本動態連線庫模組的例項控制代碼。reason 該引數表示dllmain 函式被呼叫...

vc 建立dll檔案以及dll呼叫

一 生成dll 1 用vc建立乙個win32dll工程 dlltest,選上 匯出符號 2 在dlltest.cpp中編寫匯出函式fun 這個函式是別的程式要呼叫的函式 int fun int i 3 在dlltest.h中宣告匯出這個函式 declspec dllexport int fun in...