首页  »  云计算知识  »  什么是动态链接库

什么是动态链接库?

动态链接库是在微软 Windows 的操作系统中,实现共享函数库概念的方式,它可以提供应用程序所需的数据、函数等,动态链接库被存储在磁盘中,当运行程序需要调取动态链接库模块时,系统会将其加载到内存空间中。动态链接库可以减少应用程序对计算机内存空间的需求,降低应用程序的大小,动态链接库可以被多个程序共享使用,方便程序的开发设计。

新用户享受中国区域 12 个月免费套餐

什么是动态链接库?

首页  »  云计算知识  »  什么是动态链接库

什么是动态链接库?

什么是动态链接库?

动态链接库是在微软 Windows 的操作系统中,实现共享函数库概念的方式,它可以提供应用程序所需的数据、函数等,动态链接库被存储在磁盘中,当运行程序需要调取动态链接库模块时,系统会将其加载到内存空间中。动态链接库可以减少应用程序对计算机内存空间的需求,降低应用程序的大小,动态链接库可以被多个程序共享使用,方便程序的开发设计。

新用户享受中国区域 12 个月免费套餐

动态链接库优点

动态链接库优点

动态链接库优点_节省资源

节省资源

动态链接库包含多种程序所需资源,不同的程序可以共享使用同一个资源动态链接库。动态链接库不会和应用程序一起被加载到 RAM 中,当程序被加载时,系统会匹配所需 DLL 文件。

动态链接库优点_模块化结构

模块化结构

动态链接库可以帮助开发多语言版本的大型程序,编写其他语言的可执行程序实现对动态链接库的调用。使用动态链接库可以让程序实现模块化,根据不同功能进行分配,以动态链接库文件的方式实现同时开发,从而简化程序的开发和管理。

动态链接库优点_简单部署

简单部署

动态链接库可以实现程序新功能的简单部署,只通过替换新的 DLL 即可完成新功能的部署。当动态链接库中的数据、函数需要更新和修复时,无需将动态链接库加载到程序中。另外,使用相同 DLL 的程序也会同步完成更新和修复。

动态链接库优点_节省资源

节省资源

动态链接库包含多种程序所需资源,不同的程序可以共享使用同一个资源动态链接库。动态链接库不会和应用程序一起被加载到 RAM 中,当程序被加载时,系统会匹配所需DLL文件。

动态链接库优点_模块化结构

模块化结构

动态链接库可以帮助开发多语言版本的大型程序,编写其他语言的可执行程序实现对动态链接库的调用。使用动态链接库可以让程序实现模块化,根据不同功能进行分配,以动态链接库文件的方式实现同时开发,从而简化程序的开发和管理。

动态链接库优点_简单部署

简单部署

动态链接库可以实现程序新功能的简单部署,只通过替换新的 DLL 即可完成新功能的部署。当动态链接库中的数据、函数需要更新和修复时,无需将动态链接库加载到程序中。另外,使用相同 DLL 的程序也会同步完成更新和修复。

动态链接库背景

动态链接库背景

动态链接库最初是为了解决应用程序内存问题。动态链接库提供了模块化的作用,允许通过更改共享的动态链接库中的代码和数据完成修改,无需修改程序本身。当多个应用程序使用同一个共享动态链接库时,有可能出现版本冲突,通过将不同版本的动态链接库放置在应用程序的文件夹中可解决这个问题。

动态链接库链接方式

动态链接库链接方式

动态链接库的链接方式分为隐式链接和显式链接两种。隐式链接是指 DLL 文件在程序执行时就进行内存加载,隐式链接需要将 DLL、Lib 以及头文件放入对应的搜索路径,然后将库的名字添加到依赖项中,就可以使用动态链接库中的函数了。显式链接是实时加载,只在需要的时候进行加载,通常只使用 DLL 文件,使用 extern “C” 的方式导出 DLL,不采用 _declspec(dllexport)。此外,为了避免增加启动时间和浪费内存,只在依赖项中添加需要的文件。

动态链接库如何导出

动态链接库如何导出

动态链接库的导出方法有两种,一种是通过向导出的动态链接库中添加函数关键字,使用__declspec(dllexport)声明要导出的各个函数,如需在应用程序中进行 DLL 函数导出,需使用__declspec(dllimport),另外通过包含 define 语句和 ifdef 语句的头文件进行导出和导入语句的区分;另一种是通过创建模块定义文件列出需要导出的动态链接库函数,这种方法无需添加函数关键字,通过模块定义文件声明 DLL 的 LIBRARY 语句和 EXPORTS 语句。

亚马逊云科技热门云产品

亚马逊云科技热门云产品

Amazon CodeBuild

通过持续扩展构建和测试代码

Amazon FreeRTOS

适用于微控制器的实时操作系统

Amazon Step Functions

使用可视化工作流构建分布式应用程序

Amazon X-Ray

分析和调试分布式生产应用程序

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程

准备好体验亚马逊云科技提供的云服务了吗?

新用户享受中国区域 12 个月免费套餐