VS2017動態連結庫(.dll)的生成與使用
這裡以VS2017為例子,講解一下動態連結庫(.dll)的生成與使用。
一、動態連結庫(.dll)的生成
1、開啟:“檔案”-“新建”-“專案”
2、開啟:“已安裝”-“模板”-“Visual C++”-“Win32”-“Win32 控制檯應用程式”
把檔案“名稱”加上,為自己的工程名稱;把“位置”加上,為自己的工程所在位置;
3、點選:“下一步”
4、選擇“DLL”和“空專案”
然後點選“完成”
5、右擊“panny_dll”專案,點選“新增”,點選“新建項”
6、點選“c++檔案(.cpp)”,寫上檔案的“名稱”為“panny_dll.cpp”
7、同樣新增“panny_dll.h”
8、在“panny_dll.cpp”中新增程式如下
#include "panny_dll.h"
int panny(int i, int(*call_back)(int a, int b))
{
int aa;
aa = i*i;
call_back(i, aa);
return 0;
}
9、在標頭檔案“panny_dll.h”中新增如下程式碼
#pragma once
__declspec(dllexport) int panny(int i, int(*call_back)(int a, int b));
10、點選“生成”-“重新生成解決方案”
11、如圖,成功。
12、生成了.dll和.lib的檔案
二、使用.dll檔案
1、新建專案
2、如圖,新增專案名稱為“panny_dll_test”
3、點選“下一步”
4、選擇“控制檯應用程式”和“空專案”,然後點選“完成”
5、把“.dll”和“.lib”放到如圖的資料夾裡面
6、把“panny_dll.h”放到如圖的資料夾裡面
7、新增一個新建項“panny_dll_test.cpp”,方法參考“一”中的“5和6”
8、在panny_dll_test.cpp資料夾裡面新增如下程式碼
#include <stdio.h>
#include "panny_dll.h"
int panny_call_back(int a, int b)
{
int c;
c = a + b;
printf("輸出:%d\n", c);
return 11;
}
void main()
{
int p = 10;
int panny1;
panny1 = panny(p, panny_call_back);
printf("輸出2:%d\n", panny1);
}
9、新增標頭檔案“panny_dll.h”
10、新增"panny_dll.lib"到資原始檔
11、點選“重新生成解決方案”
12、成功
13、執行如下