一、动态链接库和动态链接
动态链接库:在 Windows 中,动态链接库 (DLL) 是作为函数和资源的共享库的一种可执行文件。在调用它们的应用程序的上下文中运行。
动态链接:动态链接是操作系统功能。操作系统将 DLL 加载到应用程序的内存空间中,它可使执行文件调用函数或使用存储在单独文件中的资源。
动态链接库有什么用: DLL 可以在可执行文件之间轻松共享函数和资源。 多个应用程序可同时访问内存中单个 DLL 副本的内容。
二、和静态链接的区别
这部分我们只需要知道静态链接把所有的执行需要的库都打包到可执行文件里面了,动态链接则是把各个库独立出来,在运行时由操作系统将 DLL 加载到应用程序的内存空间中。
在Windows上具体一些就是:
静态链接将静态库中的所有对象代码复制到生成时使用它的可执行文件中。 动态链接仅包括 Windows 在运行时用于查找和加载含有数据项或函数的 DLL 所需的信息。 创建 DLL 时,还将创建包含此信息的导入库。 生成调用 DLL 的可执行文件时,链接器会使用导入库中的导出符号来为 Windows 加载程序存储此信息。 当加载程序加载 DLL 时,该 DLL 会映射到你的应用程序的内存空间中。 如果存在,则调用 DLL 中的特殊函数 DllMain,以执行 DLL 所需的任何初始化。
也可以直接看看微软技术文档的介绍,单击蓝字访问。
三、用VS生成动态库的基本流程
这里我们使用C++语言开发,对于环境有的要求如下:
1、Visual Studio。
2、VS中安装了 “C++ 的桌面开发” 工作负载。 如果在安装 Visual Studio 时未安装此工作负载, 可以再次运行安装程序并立即安装。
Visual Studio的安装和配置可以参考这个链接,单击蓝字访问即可。
具体步骤如下:
①在 Visual Studio 2019 中创建 DLL 项目
在菜单栏上,选择“文件”>“新建”>“项目”,打开“创建新项目”对话框 。选择如下图所示的项目类型。
接下来,创建