如何編譯生成dll檔案以及如何呼叫dll檔案
阿新 • • 發佈:2019-01-09
1.vs2015下生成DLL檔案
檔案->新建->專案
點選確定選擇dll選項和空專案選項
點選完成
為專案新增c++原始檔mydll.cpp
extern "C" // 此處extern "c" 為解決c/c++相容問題
{
_declspec(dllexport)int add(int a, int b)
{
return a + b;
}
extern "C"
{
_declspec(dllexport)int sub(int a, int b)
{
return a - b;
}
}
編譯生成 成功後會在工程根目錄生成Win32Project1.dll檔案
2.對dll檔案的呼叫
顯示呼叫動態連結庫 新建C++工程把生成的 Win32Project1.dll 檔案拷貝到 剛才新建的工程目錄下
在工程中新建原始檔寫入程式碼為
#include<iostream> #include<windows.h> void main() { HINSTANCE mydll = LoadLibrary("Win32Project1.dll"); //載入dll檔案 if (mydll == NULL) { return; } int(*add)(int, int) =( int (*)(int ,int )) GetProcAddress(mydll, "add");//獲取函式指標 /* 等價於 typedef int(*myadd)(int, int); //給 函式指標int (*)(int, int ) 取別名 myadd myadd a = (myadd) GetProcAddress(mydll,"add"); //獲取函式地址 */ if (add == NULL) { return; } std::cout << add(1, 2); std::cin.get(); }
編譯並執行即可。