轉 https://blog.csdn.net/m0_37170593/article/details/76445972
這里以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、執行如下
常用軟件開發學習資料目錄:
1.經典編程電子書收藏
2.C&C++編程學習資料收藏
3.算法及數據結構(有關c,c++,java)
4.Java開發學習資料收藏
5.Android開發學習資料收藏
6.Python開發學習資料收藏
7.大數據,機器學習,人工智能資料收藏
8.Docker資料收藏