C++动态链接库(DLL)的创建和调用(VS2019)

一、动态链接库的定义

        动态链接库(Dynamic Link Library,DLL)是一个包含可由多个程序同时使用的代码和数据的库。通俗来讲,它就是一个仓库,提供一些可以直接拿来用的变量、函数或者类。

二、动态链接库的创建

      1、打开VS2019选择创建新项选择动态链接库(DLL),点击下一步C++动态链接库(DLL)的创建和调用(VS2019)

2、配置项目名称后,点击创建C++动态链接库(DLL)的创建和调用(VS2019)

C++动态链接库(DLL)的创建和调用(VS2019)

3、新建类,在新类中定义我们自己的函数

C++动态链接库(DLL)的创建和调用(VS2019)

C++动态链接库(DLL)的创建和调用(VS2019)

4、myClass.h中添加如下代码

#pragma once
#include 

/*如果定义了宏就使用__declspec(dllexport)
否则就默认为__declspec(dllimport)*/
#ifdef myClass
#define myClass_API __declspec(dllexport)
#else
#define myClass_API __declspec(dllimport)
#endif

//导出函数
myClass_API int Add(int a, int b);   //加法函数
myClass_API int Sub(int a, int b);   //乘法函数


//导出类
class myClass_API myClass
{
public:
	int Mul(int a, int b);   //乘法函数
	int Div(int a, int b);   //除法函数
};

5、myClass.cpp中添加以下代码

#include "pch.h"
#include "myClass.h"

int Add(int a, int b)
{
	return a + b;
}


int  Sub(int a, int b)
{
	return a - b;
}


int myClass::Mul(int a, int b)
{
	return a * b;
}



int myClass::Div(int a, int b)
{
	return a / b;
}

6、点击生成->生成解决方案

C++动态链接库(DLL)的创建和调用(VS2019)

7、在Release目录下可以看到生成的一个dll文件以及一个lib文件

C++动态链接库(DLL)的创建和调用(VS2019)

三、动态链接库的调用

1、新建一空项目

C++动态链接库(DLL)的创建和调用(VS2019)

C++动态链接库(DLL)的创建和调用(VS2019)

2、将DllCreate.dll  DllCreate.lib   myClass.h拷贝到项目工程路径下面

C++动态链接库(DLL)的创建和调用(VS2019)

3、添加myClass.h到项目中

C++动态链接库(DLL)的创建和调用(VS2019)

4、属性—>链接器—>输入—>附加依赖项中添加我们拷贝过来的.lib文件

C++动态链接库(DLL)的创建和调用(VS2019)

5、新建calltest.cpp,并添加以下代码

#include "myClass.h"
using namespace std;

int main()
{
	int result1 = Add(1, 1);
	int result2 = Sub(2, 1);

	myClass myClassFun;
	int result3 = myClassFun.Div(4, 2);
	int result4 = myClassFun.Mul(2, 2);

	cout << result1 << "_" << result2 << "_" << result3 << "_" << result4 << endl;
	return 0;
}

6、生成解决方案后运行,输出以下结果表示调用成功。

C++动态链接库(DLL)的创建和调用(VS2019)

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/d8e21254af.html