1. 程式人生 > >VS2017動態連結庫(.dll)的生成與使用

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、執行如下