VS2019中C++动态链接库(DLL)的创建与调用
本教程转载自:优快云博主「Aishen1024」的原创文章 VS2019环境下C++动态链接库(DLL)的创建与调用
在以上教程基础上,添加了更多进阶技巧及可能会遇到的一些问题和解决方案。
一、创建DLL
1、创建新项目–>动态链接库(DLL)
2、配置新项目
3、初始化界面
创建工程之后的初始化界面,其中的代码是自动生成的,我们不需要去修改!
4、新建文件
接下来创建我们自己的DLL:
(1)首先新创建头文件“TestDLL.h”,它的作用是用来声明需要导出的函数接口。
(2)然后新创建源文件“TestDLL.cpp”,它的作用是用来实现被声明的函数。
此时工程目录结构如下图:
5、代码编写
1)首先我们要在‘TestDLL.h’中编写如下代码:
#pragma once
#include <iostream>
extern "C" __declspec(dllexport) void SayHello();
上面代码的功能是声明一个可被调用的函数“SayHello()”,它的返回类型是void。
现在分析一下extern “C” __declspec(dllexport) void SayHello();这一句代码,其中extern "C"的作用是告诉编译器将被它修饰的代码按C语言的方式进行编译,这么做的意义在此不做讨论,感兴趣的话可自行查询。
然后分析__declspec(dllexport),此修饰符告诉编译器和链接器被它修饰的函数或变量需要从DLL导出,以供其他应用程序使用;与其相对的还有一句代码是__declspec(dllimport),此修饰符的作用是告诉编译器和链接器被它修饰的函数或变量需要从DLL导入,它在后面也会被用到。
最后是函数void SayHello(),它就是需要被其他程序调用的函数。
效果图如下:
(2)然后我们需要在‘TestDLL.cpp’中实现在‘TestDLL.h’中被声明的SayHello()函数,代码如下:
#include "pch.h"
#