动态库搭建与调用

动态库搭建与调用

这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。

一、动态链接库(.dll)的生成

1、打开:“文件”-“新建”-“项目”
动态库搭建与调用
2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序”
把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;
动态库搭建与调用
动态库搭建与调用
动态库搭建与调用
动态库搭建与调用
添加头文件和cpp文件动态库搭建与调用
动态库搭建与调用
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));
动态库搭建与调用
动态库搭建与调用
动态库搭建与调用
二、使用.dll文件

1、新建项目
动态库搭建与调用
2、如图,添加项目名称为“panny_dll_test”

动态库搭建与调用
把“.dll”和“.lib”放到如图的文件夹里面
动态库搭建与调用
把“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"到资源文件
动态库搭建与调用
动态库搭建与调用