什么是DLL档案?有何作用?
什么是DLL档案?有何作用?
DLL档案(Dynamic Linkable Library 即动态连结库档案),是一种不能单独执行的档案,它允许程式共享执行特殊任务所必需的程式码和其他资源
比较大的应用程式都由很多模组组成,这些模组分别完成相对独立的功能,它们彼此协作来完成整个软体系统的工作。可能存在一些模组的功能较为通用,在构造其它软体系统时仍会被使用。在构造软体系统时,如果将所有模组的原始码都静态编译到整个应用程式 EXE 档案中,会产生一些问题:一个缺点是增加了应用程式的大小,它会占用更多的磁碟空间,程式执行时也会消耗较大的记忆体空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程式时,在每次修改重建时都必须调整编译所有原始码,增加了编译过程的复杂性,也不利于阶段性的单元测试。
Windows 系统平台上提供了一种完全不同的较有效的程式设计和执行环境,你可以将独立的程式模组建立为较小的 DLL 档案,并可对它们单独编译和测试。在执行时,只有当 EXE 程式确实要呼叫这些 DLL 模组的情况下,系统才会将它们装载到记忆体空间中。这种方式不仅减少了 EXE 档案的大小和对记忆体空间的需求,而且使这些 DLL 模组可以同时被多个应用程式使用。Windows 自己就将一些主要的系统功能以 DLL 模组的形式实现。
一般来说,DLL 是一种磁碟档案,以.dll、.DRV、.FON、.SYS 和许多以 .EXE 为副档名的系统档案都可以是 DLL。它由全域性资料、服务函式和资源组成,在执行时被系统载入到呼叫程序的虚拟空间中,成为呼叫程序的一部分。如果与其它 DLL 之间没有冲突,该档案通常对映到程序虚拟空间的同一地址上。DLL 模组中包含各种汇出函式,用于向外界提供服务。DLL 可以有自己的资料段,但没有自己的堆叠,使用与呼叫它的应用程式相同的堆叠模式;一个 DLL 在记忆体中只有一个例项;DLL 实现了程式码封装性;DLL 的编制与具体的程式语言及编译器无关。
在 Win32 环境中,每个程序都复制了自己的读/写全域性变数。如果想要与其它程序共享记忆体,必须使用记忆体对映档案或者宣告一个共享资料段。DLL 模组需要的堆叠记忆体都是从执行程序的堆叠中分配出来的。Windows 在载入 DLL 模组时将程序函式呼叫与 DLL 档案的汇出函式相匹配。Windows 作业系统对 DLL 的操作仅仅是把 DLL 对映到需要它的程序的虚拟地址空间里去。DLL 函式中的程式码所建立的任何物件(包括变数)都归呼叫它的执行绪或程序所有。
呼叫方式:
1、静态呼叫方式:由编译系统完成对 DLL 的载入和应用程式结束时 DLL 解除安装的编码(如还有其它程式使用该 DLL,则 Windows 对 DLL 的应用记录减1,直到所有相关程式都结束对该 DLL 的使用时才释放它,简单实用,但不够灵活,只能满足一般要求。
隐式的呼叫:需要把产生动态连线库时产生的 .LIB 档案加入到应用程式的工程中,想使用 DLL 中的函式时,只须说明一下。隐式呼叫不需要呼叫 LoadLibrary() 和 FreeLibrary()。程式设计师在建立一个 DLL 档案时,连结程式会自动生成一个与之对应的 LIB 汇入档案。该档案包含了每一个 DLL 汇出函式的符号名和可选的标识号,但是并不含有实际的程式码。LIB 档案作为 DLL 的替代档案被编译到应用程式专案中。
当程式设计师通过静态连结方式编译生成应用程式时,应用程式中的呼叫函式与 LIB 档案中汇出符号相匹配,这些符号或标识号进入到生成的 EXE 档案中。LIB 档案中也包含了对应的 DL L档名(但不是完全的路径名),连结程式将其储存在 EXE 档案内部。
当应用程式执行过程中需要载入 DLL 档案时,Windows 根据这些资讯发现并载入 DLL,然后通过符号名或标识号实现对 DLL 函式的动态连结。所有被应用程式呼叫的 DLL 档案都会在应用程式 EXE 档案载入时被载入在到记忆体中。可执行程式连结到一个包含 DLL 输出函式资讯的输入库档案(.LIB档案)。作业系统在载入使用可执行程式时载入 DLL。可执行程式直接通过函式名呼叫 DLL 的输出函式,呼叫方法和程式内部其 它的函式是一样的。
2、动态呼叫方式:是由程式设计者用 API 函式载入和解除安装 DLL 来达到呼叫 DLL 的目的,使用上较复杂,但能更加有效地使用记忆体,是编制大型应用程式时的重要方式。
显式的呼叫:
是指在应用程式中用 LoadLibrary 或 MFC 提供的 AfxLoadLibrary 显式的将自己所做的动态连线库调进来,动态连线库的档名即是上面两个函式的引数,再用 GetProcAddress() 获取想要引入的函式。自此,你就可以象使用如同本应用程式自定义的函式一样来呼叫此引入函数了。在应用程式退出之前,应该用 FreeLibrary 或 MFC 提供的 AfxFreeLibrary 释放动态连线库。直接呼叫 Win32 的 LoadLibary 函式,并指定 DLL 的路径作为引数。LoadLibary 返回 HINSTANCE 引数,应用程式在呼叫 GetProcAddress 函式时使用这一引数。GetProcAddress 函式将符号名或标识号转换为 DLL 内部的地址。程式设计师可以决定 DLL 档案何时载入或不载入,显式连结在执行时决定载入哪个 DLL 档案。使用 DLL 的程式在使用之前必须载入(LoadLibrary)载入DLL从而得到一个DLL模组的控制代码,然后呼叫 GetProcAddress 函式得到输出函式的指标,在退出之前必须解除安装DLL(FreeLibrary)。
正因为DLL 有占用记忆体小,好编辑等的特点有很多电脑病毒都是DLL格式档案。但不能单独执行。
动态连结库通常都不能直接执行,也不能接收讯息。它们是一些独立的档案,其中包含能被可执行程式或其它DLL呼叫来完成某项工作的函式。只有在其它模组呼叫动态连结库中的函式时,它才发挥作用。
打得累死了,大哥你多给积分吧
ws2_32.dll档案有何作用?
ws2_32.dll是Windows Sockets应用程式介面, 用于支援Inter和网路应用程式。程式执行时会自动呼叫ws2_32.dll档案,ws2_32.dll是个动态连结库档案位于系统资料夹中。Windows在查询动态连结库档案时会先在应用程式当前目录搜寻,如果没有找到然后才会搜寻Windows所在目录;如果还是没有会搜寻system32和system目录。
什么是JC档案 ,有何作用
那是用"网际快车(以前叫Jetcar,现在叫Flashget)下载的档案没有下载完毕而形成的档案,就会成为字尾名为.jc的档案.
作用:
就跟晚自习时到图书馆占座位差不多,根据下载档案的大小,在硬碟上占一个空间。下载完整无缺后,自动就会将JC去掉。
什么是LOG档案,有何作用?
是日志档案,
你可以开始里,执行,输入cmd
在cmd里打命令 del c:\windons\*.log
del c:\windows\*.txt
这些都是日志
什么是ini档案,有何作用?
.ini 档案是Initialization File的缩写,即初始化档案,是windows的系统配置档案所采用的储存格式,统管windows的各项配置,一般使用者就用windows提供的各项图形化管理介面就可实现相同的配置了。但在某些情况,还是要直接编辑ini才方便,一般只有很熟悉windows才能去直接编辑。开始时用于WIN3X下面,WIN95用登录档代替,以及后面的内容表示一个节,相当于登录档中的键。
ini , .inc之类的档案,一般是放一些常量或资料库连结语句等,再在需要的页面包含进去,和直接命为 asp 是没什么区别的。
*.dll是什么档案?如何建立的?有何作用?
DLL档案即动态连结库档案,是一种可执行档案,它允许程式共享执行特殊任务所必需的程式码和其他资源。Windows提供的DLL档案中包含了允许基于Windows的程式在Windows环境下操作的许多函式和资源。
DLL多数情况下是带有DLL副档名的档案,但也可能是EXE或其他副档名。它们向运行于Windows作业系统下的程式提供程式码、资料或函式。程式可根据DLL档案中的指令开启、启用、查询、禁用和关闭驱动程式。
DLL的全称是Dynamic Link Library, 中文叫做“动态连结档案”。在Windows作业系统中, DLL对于程式执行是非常重要的, 因为程式在执行的时候, 必须连结到DLL档案, 才能够正确地执行。而有些DLL档案可以被许多程式共用。因此, 程式设计人员可以利用DLL档案, 使程式不至于太过巨大。但是当安装的程式越来越多, DLL档案也就会越来越多, 如果当你删除程式的时候, 没有用的DLL档案没有被删除的话, 久而久之就造成系统的负担了。
DLL是动态连线库。使用动态连线库的一些好处是:
1.多个应用程式共享程式码和资料:比如Office软体的各个组成部分有相似的外观和功能,这就是通过共享动态连线库实现的。
2.在钩子程式过滤系统讯息时必须使用动态连线库。
3.动态连线库以一种自然的方式将一个大的应用程式划分为几个小的模组,有利于小组内部成员的分工与合作。而且,各个模组可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连线库中,让小组的其他成员使用。
4.为了实现应用程式的国际化,往往需要使用动态连线库。使用动态连线库可以将针对某一国家、语言的资讯存放在其中。对于不同的版本,使用不同的动态连线库。在使用AppWizard生成应用程式时,我们可以指定资原始档使用的语言,这就是通过提供不同的动态连线库实现的。
VC++、C++ Builder、Delphi都可以编写DLL档案。Visual Basic 5.0以上版本也可以编写一种特殊的DLL,即ActiveX DLL。
DLL不是独立执行的程式,它是某个程式的一个部分,它只能由所属的程式呼叫。使用者不能,也不需要开启它。
NPPTools.dll是什么档案?有何作用?win7支援吗?
npptools.dll --- NPP 工具助手 DLL右点它可以设定使用者许可权,就可以禁止修改NPP,换个说法就是防ARP欺骗。 之前用P2P控制的时候下载过 win7支援
dll是什么档案 dll档案的作用
dll档案有什么用呢?作为电脑爱好者的我们都有必要了解,这也可以为后期遇到的相关电脑问题解决提供一定的基础知识,因为有不少电脑问题都可能会涉及到dll档案程式,比如常见的电脑不能玩某游戏,提示找不到xx.dll或xx.dll缺失等。下面我们来详细介绍下dll是什么档案。
概括的说,DLL是Dynamic Link Library的缩写,意为动态连结库。DLL档案一般被存放在C:WindowsSystem目录下。DLL是一个包含可由多个程式同时使用的程式码和资料的库。因为在在Windows系统中,许多应用程式并不是一个完整的可执行档案,它们被分割成一些相对独立的动态连结库,即DLL档案,放置于系统中。当我们执行某一个程式时,相应的DLL档案就会被呼叫。一个应用程式可有多个DLL档案,一个DLL档案也可能被几个应用程式所共用,这样的DLL档案被称为共享DLL档案。例如,在 Windows 作业系统中,Comdlg32 DLL 执行与对话方块有关的常见函式。因此,每个程式都可以使用该 DLL 中包含的功能来实现开启对话方块。这有助于促进程式码重用和记忆体的有效使用。
√dll档案的作用
由于可以通过使用 DLL,程式可以实现模组化,由相对独立的元件组成。例如,一个计帐程式可以按模组来销售。可以在执行时将各个模组载入到主程式中(如果安装了相应模组)。因为模组是彼此独立的,所以程式的载入速度更快,而且模组只在相应的功能被请求时才载入。 此外,可以更为容易地将更新应用于各个模组,而不会影响该程式的其他部分。例如,您可能具有一个工资计算程式,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程式就可以应用更新。所以dll档案在程式中的最大作用是加速程式执行。
目前多数软体档案都设计都含有dll档案,主要是因为使用dll程式的软体有以下几个优点:
一:使用较少的资源
当多个程式使用同一个函式库时,DLL 可以减少在磁碟和实体记忆体中载入的程式码的重复量。这不仅可以大大影响在前台执行的程式,而且可以大大影响其他在 Windows 作业系统上执行的程式。 ·
推广模组式体系结构
二:DLL 有助于促进模组式程式的开发
这可以帮助您开发要求提供多个语言版本的大型程式或要求具有模组式体系结构的程式。模组式程式的一个示例是具有多个可以在执行时动态载入的模组的计帐程式。
winsock是什么档案?有何作用?
winsock是Windows平台下的网路套接字(Socket)介面。使用WINSOCK,可以很方便的建立网路连线或者侦听,然后接收和传送资料。
使用winsock API,可以编写基于各种网路协议(如TCP、UDP、IP)的应用程式。实际上Windows下多数要访问网路的程式其底层都呼叫了winsock API。winsock2的winsock API的dll档案是ws2_32.dll。
Favortes是个什么档案,有何作用
楼主 你漏打了一个 i FAVORITES中文是特别喜爱的意思!他是作为IE网面收藏夹用的,你比较喜欢的网站或用得多的会存在里面!
满意请采纳