当前位置:  开发笔记 > 开发工具 > 正文

什么是DLL?

如何解决《什么是DLL?》经验,为你挑选了4个好方法。

这可能是一个非常noobie的问题,但在今天的Web应用程序开发世界中,许多程序员不需要处理dll,因此不必费心去了解他们的目的.

什么是dll?

    它是干什么用的?

    它是如何工作的?

    你是如何创造一个的?

    在什么情况下创建一个合适的?

我被告知dll用于存储函数库,但除此之外我不太了解.希望有人在这里可以启发我,所以我终于不知道我的Windows目录中的所有.dll文件是做什么的.



1> Brian Rasmus..:

DLL是动态链接库.它是代码和/或数据的集合,可以由多个应用程序(或其他库/模块)使用.

因此,例如处理文件的常用方法,使用GUI组件等在库中可用,因此多个应用程序可以使用相同的功能.这不仅减少了多次构建相同内容的需要,而且还确保了例如应用程序之间的通用对话框是相同的.

库可以在运行时加载,因此可以在不同的并发应用程序之间共享.这称为动态链接.

在某些情况下,库可以包含在应用程序本身中.这称为静态链接.静态链接使得部署更容易,因为不同的应用程序将加载DLL的相同副本.

但是,静态链接并不总是一种选择.例如,您无法静态链接.NET应用程序.用户必须具有.NET库才能运行.NET应用程序,并且在运行时加载库(或在.NET中调用的程序集).

DLL由用于创建应用程序的相同工具创建.具体细节在很大程度上取决于所使用的工具.


机器可以读取机器代码.DLL可以包含图标,字符串,字体.可能有一个列表,里面包含它所包含的内容.

2> Paul Alexand..:

DLL =动态链接库

这个名字实际上描述了他们所取得的成就.

图书馆

允许您将特定问题域的代码隔离到单个位置.然后在多个应用程序之间共享.可以随时将库替换为另一个库以修复错误或添加功能.

链接

您可以将库"链接"到应用程序,以便库中的逻辑不会直接编译到应用程序中.

动态

可以按需加载库.操作系统只能加载所需的部分,而不是将庞大的单个EXE加载到内存中.此外,如果在应用程序之间共享DLL,则操作系统可以优化库的加载方式并在应用程序之间共享.



3> 小智..:

DLL(动态链接库)文件可以描述为小的"子程序",旨在帮助更大的程序运行良好.它们提供了一种将各种硬件和软件资源(在其运行时会话中的不同点)链接到它们所基于的主要可执行程序的方法,即"根据需要".这样就无需在首次运行程序时将主要可执行程序的所有内容加载到计算机的RAM(随机存取存储器)中.

DLL携带的软件资源包括用于保持程序运行不需要的各种程序功能的代码:即,在给定的计算会话期间仅需要在特定时间调用的功能,甚至可能根本不需要完全被召唤.在程序首次运行时将这些功能(并且可能有相当数量的特定程序)加载到计算机的RAM中,然后在整个会话期间将它们保留在那里将浪费RAM空间 - 这被认为是在溢价.

一个重大进步:

DLL的开发是计算领域的一项重大进步,因为在它们可用之前,所有与程序有关的东西(包括很少使用过的函数)都必须在程序首次加载时加载到RAM中.这导致计算效率极低,各种程序的速度变慢.由于RAM上伴随的压力,通过运行几个简单的程序来执行多任务也非常困难.

注意事项:

DLL通常是特定于版本的.那些适用于程序版本1(或编程语言,可能是这种情况)的版本可能不适用于版本2.一般规则是旧版本中的DLL往往无法工作与较新版本一样,但较新版本的版本通常可以与旧版本的程序或编程语言很好地协作.



4> Grant..:

动态链接库.

举个例子,如果您将其他人的DLL加载到您的应用程序中,您可以使用它的一些编程.

您可以加载生成随机数的DLL,该随机数始终以"5"开头.

在你的程序中,你可以调用CrazyDLL.GenerateRandomNumbersSorta(),它将返回数字.

对于一个真实世界的例子,我有一个DLL,它结合了4个文本框(您可以使用它们来键入IP地址),它自动只接受小于256的数字,并处理按退格键以跳转到上一个文本框.

我已经使用该代码创建了一个DLL,现在我所要做的就是拖放更多的IP地址文本框集合,而不必一遍又一遍地复制所有代码.

相同的DLL还具有将IP地址转换为十六进制字符串的功能,以及其他有用的代码.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有