一、前言
在工程中,经常会根据不同的场景需求将类封装成库文件,以供他人使用;那么如何利用VS进行库“动态库”的生成呢,以下简要演示实现过程。
开发环境:VS2019
二、生成DLL动态库
1、创建控制台工程、添加类库函数。
![](https://img-blog.csdnimg.cn/a58bfca9aa264092834a775f59cc1243.png)
![](https://img-blog.csdnimg.cn/832c46cac52d4e1cb7339b25999123e9.png)
2、添加函数代码。
dll1.h头文件。
![](https://img-blog.csdnimg.cn/70e51558bf7d4f7d8b20e1989320d386.png)
#pragma once
class __declspec(dllexport) dll1
{
public:
int myAdd(int a, int b);
int myMax(int a, int b);
};
dll1.c实现。
![](https://img-blog.csdnimg.cn/c5e005ef5416404485cd9afe3a6c4d63.png)
#include "dll1.h"
int dll1::myAdd(int a, int b)
{
return a + b;
}
int dll1::myMax(int a, int b)
{
return a > b ? a : b;
}
2、环境设置,生成LIB、dll文件
![](https://img-blog.csdnimg.cn/85500955df824a268448a96e6d921e52.png)
![](https://img-blog.csdnimg.cn/6940cc4cc66e441bb31464e6f06aae78.png)
![](https://img-blog.csdnimg.cn/b2a7456fddc749bfb1dc14d51d728f3c.png)
三、动态库调用。
1、建立一个控制台工程,并配置项目。
![](https://img-blog.csdnimg.cn/9d0323a8ecc341cb9e9262ec8136b15a.png)
![](https://img-blog.csdnimg.cn/388a423ed5534b3da0130d9be62f2e5e.png)
![](https://img-blog.csdnimg.cn/a581457504fd4689a646c630e2066358.png)
2、函数调用。拷贝lib文件、头文件、DLL文件。
调用函数文件。
![](https://img-blog.csdnimg.cn/836529502d9848c9a8804f87675b0850.png)
#include <iostream>
#include "dll1.h"
using namespace std;
int main()
{
cout << "Hello World!\n";
dll1 d;
cout << "myAdd(3, 5):" <<d.myAdd(3,5)<< endl;
system("pause");
//system("pause");
}
![](https://img-blog.csdnimg.cn/74caf68a1a2744008848f929e4a63060.png)
3、运行,结果如下。
![](https://img-blog.csdnimg.cn/a94264b5e1f54bc9883205a17011baa0.png)