楔子
在VB.NET视频的学习中,再次碰见了了DLL这个东东。之前做的两个简单的小系统就和DLL打过交道,那时在知道DLL是动态链接库的英文缩写后就把它给放过了。结果现在的VB.NET视频的学习中DLL又出现了,果然不愧是老师说的“欠下的总会还的”。今天我们从DLL和DLL文件进行下脑补~~~
DLL
DLL是动态链接库的英文缩写,其全称为Dynamic Link Library。是软件界中的巨人微软公司在Windows系统中实现共享函数库概念的一种方式。
DLL主要用于共享和更新这两个方面。在共享方面,DLL主要是通过DLL文件(下文将对DLL文件做初步的阐述分享)实现数据在时间维度和个体层次上的共享。
其中数据在时间维度上的共享指的是多个应用程序可以同时访问内存中单个DLL副本中的内容。而在阐述数据在个体层面上的共享之前,有必要向大家讲解下什么是异函数。异函数就是实现相同功能的由不同语言进行编写的函数。例如同样的错误处理语言,在VB中体现的是On Error Goto,而在.NET中的大多数语言中,则体现的是Try Catch。而所谓的异函数调用就是通过DLL,我们可以赋予进程调用不属于其可执行代码的函数。而这种方法类似于我们在设计模式中接触到的Adapter Pattern。
更新方面,DLL主要在我们队大型系统的更新时发力。比如一个几十G的3D游戏需要更新一个角色时,我们不必要为了重构那些几个G的软件代码,只需要添加相应的DLL文件或者对相应的DLL文件进行更新即可实现我们的完善性维护既定的目标。
DLL文件
定义
动态链接库文件(Dynamic Link Library Documents)又称“应用程序拓展”,是一种不可执行的二进制文件,属软件文件类型。DLL Documents一般存在放电脑的“C/Windows/System32”目录中。它能允许程序共享执行特殊任务所必需的代码和其他资源。现在我们所使用的许多应用程序并不是一个完整的不可分的整体意义上的可执行文件,而是由许多被分割相对独立的动态链接