dll链接文件和DLL文件有什么区别吗??是什么意思啊????

作者&投稿:冶肢 (若有异议请与网页底部的电邮联系)
什么是dll文件?dll文件是什么意思~

DLL(动态连接库),既然是动态,那么就是有静态连接库,我想如果这么说大家

会更明白:
也许有的人在DOS下编写过程序都明白这么一件事情,我写了一个程序,里面有一

个功能就是把屏幕的内容翻转在转90°打印出来,那么我需要把整个程序写好放

到我的所有代码中,但是如果我写另外一个程序的时候也有相通的功能,我可以

调用以前的程序这个功能吗?当然是不可以的了,所以我就要重新的写一次,如

果有5个需要调用这个功能的程序,我的这个功能函数需要20K的地方,那么我的

硬盘就有80K的垃圾出现(20k*5 - 20k),这仅仅是一个函数,大家是否可以数

清除WINDOWS如果这样来写,需要多少函数吗?你看看所有的按钮、滚动条、

Listbox\Textbox\checkBox\窗体、打印对话框、颜色对话框、打开、保存、另存

、字体对话框、文件的排列、拷贝、粘贴...... 这一切的一切是不是都需要在所

有的程序中都要写出来呢?如果真的是这个样子,那么我们的windows应该按TB来

计算了(1TB=1024GB),也许你说你的硬盘很大,那么他们还要在运行的时候占

用相同大下的内容呢!所以发展出来了,动态连接库(dll)这个感念:

动态连接,就是把这些相通的功能、函数都放到一种特殊形式的windwos可执行文

件中(dll),生成一个DLL的时候,程序员需要写出,其中包含那些函数需由其

他程序来访问。这个过程叫做对函数的“导出”
创建windows程序的时候,专门的连接程序对程序的对象文件进行扫描,并生成一

个列表,列出那些调用的函数在那个DLL那个位置,指定各个函数所在位置的过程

叫做对函数的“导入”,当程序运行的时候,一旦要求用到执行文件内部没有的

函数,windows就会自动装载动态连接库,使应用程序可以访问这些函数。此时,

每个函数的地址都会解析出来,并且以动态的方式连接到程序里--这便是术语

“动态连接”的由来。
另外还有一个好处,就是当你更新你的这个函数的版本和功能的时候,静态连接

所需要做的工作是多少(假设按windwos来说他有上千个这样的函数,一共有100

多个程序来使用,那静态连接需要100000次的更新,动态连接只需要1000次)
,从而也节省了内存的空间。
动态连接库不一定是DLL扩展名的,也可以是ocx、vbx、exe、drv 等等的
大家可以发现在调用WIN32 api的时候里面都会有说明是来自于那个dll等宿主文

件的
现在我就在这里讲讲一些标准的dll用途:
看下面这个API声明:
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias

"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long)

As Long
看见kernel32了吗,其实这个就是kernel32.dll的名字,你可以在你的硬盘里找

到他,这就是说GetWindowsDirectory这个函数是在kernel32.dll里面,他的别名

是GetWindowsDirectoryA,()中是他的参数,有两个一个是字符型,一个是长

整型,返回值也是长整型。lpBuffer ------- String,指定一个字串缓冲区,

用于装载Windows目录名。除非是根目录,否则目录中不会有一个中止用的“\”

字符nSize ---------- Long,lpBuffer字串的最大长度,返回值 为Long,复制

到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返

回lpBuffer要求的长度。零表示失败。
这就是API声明的意义所在!
DLL的说明
KERNEL32.DLL ---- 低级内核函数。使用他可以完成内存管理、任务管理、

资源控制等。
USER32.DLL------于windows管理有关的函数。消息、菜单、光标、计时器

、通信和其他大多数非现实函数都可以从这里找到
GDI32.DLL-------图形设备接口库。于设备输出有关的函数:大多数绘图

、显示场景、图元文件、坐标及其字体函数都可以从这梨找到。
COMDLG32.DLL\LZ32.DLL\VERSION.DLL\---这都是提供一些附加函数的库,包

括通用对话框、文件压缩、版本控制的支持。

COMCTL32.DLL --------一个新的windows控件集合,比如TreeView和RichTextBox

等等,最初这个好像是为了win95而制作的,但是现在也使用与NT下
MAPI32.DLL---------提供了一套电子邮件的专用函数
NETAPI32.DLL--------提供了一套访问和控制网络的函数
ODBC32.DLL--------(不用我再说了吧)ODBC功能的DLL之一
WINMM.DLL------(这可不是WINDOWS的MM)是多媒体控制访问函数集合

windows api正在快速发展和变化,是你我任何单个人都追赶不上的速度发展,幸

运的是我们不用掌握所有的windows API,只是掌握需要经常使用的WINDOWs api

和他的常规结构、基本感念就可以了,这亮点很重要。

DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:\Windows\System目录下。
1、如何了解某应用程序使用哪些DLL文件
右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。

2、如何知道DLL文件被几个程序使用

运行Regedit,进入HKEY_LOCAL_MACHINE\Software\Microsrft\Windows\Current-
Version\SharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。

3、如何解决DLL文件丢失的情况

有时在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。

应该是没有区别的,两者均指DLL动态链接库文件,详细介绍请见:http://baike.baidu.com/view/4373.htm

DLL文件 DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下。
DLL 是一个包含可由多个程序同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。
通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。
此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您可能具有一个工资计算程序,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。
Windows 操作系统中的一些作为 DLL 实现的文件:
·ActiveX 控件 (.ocx) 文件
ActiveX 控件的一个示例是日历控件,它使您可以从日历中选择日期。
·控制面板 (.cpl) 文件
.cpl 文件的一个示例是位于控制面板中的项。每个项都是一个专用 DLL。
·设备驱动程序 (.drv) 文件
设备驱动程序的一个示例是控制打印到打印机的打印机驱动程序。
DLL 的优点
当程序使用 DLL 时提供的一些优点:
·使用较少的资源
当多个程序使用同一个函数库时,DLL 可以减少在磁盘和物理内存中加载的代码的重复量。这不仅可以大大影响在前台运行的程序,而且可以大大影响其他在 Windows 操作系统上运行的程序。
·推广模块式体系结构
DLL 有助于促进模块式程序的开发。这可以帮助您开发要求提供多个语言版本的大型程序或要求具有模块式体系结构的程序。模块式程序的一个示例是具有多个可以在运行时动态加载的模块的计帐程序。
·简化部署和安装
当 DLL 中的函数需要更新或修复时,部署和安装 DLL 不要求重新建立程序与该 DLL 的链接。此外,如果多个程序使用同一个 DLL,那么多个程序都将从该更新或修复中获益。当您使用定期更新或修复的第三方 DLL 时,此问题可能会更频繁地出现。
1、如何了解某应用程序使用哪些DLL文件
右键单击该应用程序并选择快捷菜单中的“快速查看”命令,在随后出现的“快速查看”窗口的“引入表”一栏中你将看到其使用DLL文件的情况。
2、如何知道DLL文件被几个程序使用
运行Regedit,进入HKEY_LOCAL_MACHINESoftwareMicrosrftWindowsCurrent-
ersionSharedDlls子键查看,其右边窗口中就显示了所有DLL文件及其相关数据,其中数据右边小括号内的数字就说明了被几个程序使用,(2)表示被两个程序使用,(0)则表示无程序使用,可以将其删除。
3、如何解决DLL文件丢失的情况
有时在卸载文件时会提醒你删除某个DLL文件可能会影响其他应用程序的运行。所以当你卸载软件时,就有可能误删共享的DLL文件。一旦出现了丢失DLL文件的情况,如果你能确定其名称,可以在Sysbckup(系统备份文件夹)中找到该DLL文件,将其复制到System文件夹中。如果这样不行,在电脑启动时又总是出现“***dll文件丢失……”的提示框,你可以在“开始/运行”中运行Msconfig,进入系统配置实用程序对话框以后,单击选择“System.ini”标签,找出提示丢失的DLL文件,使其不被选中,这样开机时就不会出现错误提示了。
rundll的功能是以命令列的方式呼叫Windows的动态链结库。
Rundll32.exe与Rundll.exe的区别就在于前者是呼叫32位的链结库,后者是用于16位的链结库。rundll32.exe是专门用来调用dll文件的程序。
如果用的是Win98,rundll32.exe一般存在于Windows目录下;
如果用的WinXP,rundll32.exe一般存在于WindowsSystem32目录下。
若是在其它目录,就可能是一个木马程序,它会伪装成rundll32.exe。
DLL 故障排除工具
可以使用多个工具来帮助您解决 DLL 问题。以下是其中的部分工具。
Dependency Walker
Dependency Walker 工具可以递归扫描以寻找程序所使用的所有依赖 DLL。当您在 Dependency Walker 中打开程序时,Dependency Walker 会执行下列检查:
·Dependency Walker 检查是否丢失 DLL。
·Dependency Walker 检查是否存在无效的程序文件或 DLL。
·Dependency Walker 检查导入函数和导出函数是否匹配。
·Dependency Walker 检查是否存在循环依赖性错误。
·Dependency Walker 检查是否存在由于针对另一不同操作系统而无效的模块。
通过使用 Dependency Walker,您可以记录程序使用的所有 DLL。这可能有助于避免和更正将来可能发生的 DLL 问题。当您安装 Microsoft Visual Studio 6.0 时,Dependency Walker 将位于以下目录中:
drive\Program Files\Microsoft Visual Studio\Common\Tools
DLL Universal Problem Solver
DLL Universal Problem Solver (DUPS) 工具用于审核、比较、记录和显示 DLL 信息。下表说明了组成 DUPS 工具的实用工具:
·Dlister.exe:该实用工具枚举计算机中的所有 DLL,并且将此信息记录到一个文本文件或数据库文件中。
·Dcomp.exe:该实用工具比较在两个文本文件中列出的 DLL,并产生包含差异的第三个文本文件。
·Dtxt2DB.exe:该实用工具将通过使用 Dlister.exe 实用工具和 Dcomp.exe 实用工具创建的文本文件加载到 dllHell 数据库中。
·DlgDtxt2DB.exe:该实用工具提供 Dtxt2DB.exe 实用工具的图形用户界面 (GUI) 版本。
DLL 的类型
当您在应用程序中加载 DLL 时,可以使用两种链接方法来调用导出的 DLL 函数。这两种链接方法是加载时动态链接和运行时动态链接。
1、加载时动态链接
在加载时动态链接中,应用程序像调用本地函数一样对导出的 DLL 函数进行显式调用。要使用加载时动态链接,请在编译和链接应用程序时提供头文件 (.h) 和导入库文件 (.lib)。当您这样做时,链接器将向系统提供加载 DLL 所需的信息,并在加载时解析导出的 DLL 函数的位置。
2、运行时动态链接
在运行时动态链接中,应用程序调用 LoadLibrary 函数或 LoadLibraryEx 函数以在运行时加载 DLL。成功加载 DLL 后,可以使用 GetProcAddress 函数获得要调用的导出的 DLL 函数的地址。在使用运行时动态链接时,无需使用导入库文件。
Win32 DLL的特点
Win32 DLL与 Win16 DLL有很大的区别,这主要是由操作系统的设计思想决定的。一方面,在Win16 DLL中程序入口点函数和出口点函数(LibMain和WEP)是分别实现的;而在Win32 DLL中却由同一函数DLLMain来实现。无论何时,当一个进程或线程载入和卸载DLL时,都要调用该函数,它的原型是
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved);
其中,第一个参数表示DLL的实例句柄;第三个参数系统保留;这里主要介绍一下第二个参数,它有四个可能的值:DLL_PROCESS_ATTACH(进程载入),DLL_THREAD_ATTACH(线程载入),DLL_THREAD_DETACH(线程卸载),DLL_PROCESS_DETACH(进程卸载),在DLLMain函数中可以对传递进来的这个参数的值进行判别,并根据不同的参数值对DLL进行必要的初始化或清理工作。举个例子来说,当有一个进程载入一个DLL时,系统分派给DLL的第二个参数为DLL_PROCESS_ATTACH,这时,你可以根据这个参数初始化特定的数据。另一方面,在Win16环境下,所有应用程序都在同一地址空间;而在Win32环境下,所有应用程序都有自己的私有空间,每个进程的空间都是相互独立的,这减少了应用程序间的相互影响,但同时也增加了编程的难度。大家知道,在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的;而在Win32环境中,情况却发生了变化,当进程在载入DLL时,系统自动把DLL地址映射到该进程的私有空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间,也就是说每个进程所拥有的相同的DLL的全局数据其值却并不一定是相同的。因此,在Win32环境下要想在多个进程中共享数据,就必须进行必要的设置。亦即把这些需要共享的数据分离出来,放置在一个独立的数据段里,并把该段的属性设置为共享


建筑平面施工图标注的简写代码LW,LX,FH等等都是什么意思啊?
建筑工程施工图具有图纸齐全、表达准确、要求具体的特点,是设计工作的最后成果,是进行工程施工、编制施工图预算和施工组织设计的依据,也是进行施工技术管理的重要技术文件。一套完整的建筑工程施工图,通常包括建筑施工图、结构施工图、给排水、采暖通风施工图及电气施工图等专业图纸,也可将给排水、采暖通风...

sap2000;例题中DL+LL+EQ的组合(荷载的应力)
DEAD LOAD + LIVE LOAD + EARTHQUAKE LOAD 表示恒载+活载+地震荷载 如果你运行了的话,就可以在 display 菜单下 show force\/stress 中显示你所计算的应力。如果还看不多,鼠标右键单击你所计算的那根构件,就能显示其应力细节了。。

钢结构中LL表示什么?
编号为1号 1B板 2WB屋面板 3KB空心板 4CB槽形板 5ZB折板 6MB密肋板 7TB楼梯板 8GB盖板或沟盖板 9YB挡雨板或檐口板 10DB吊车安全走道板 11QB墙板 12TGB天沟板 13L梁 14WL屋面梁 15DL吊车梁 16QL圈梁 17GL过梁 18LL连系梁 19JL基础梁 20TL楼梯梁 21LT檩条 22WJ屋架 23TJ托架 24CJ天窗...

quartusll安装完没有元气库
需要自己下载安装一下。首先打开这个下载地址:http:\/\/dl.altera.com\/?edition=standard(需注册intel账号)在网页中选择版本号(例如13.1\/19.1等版本)和系统(Windows\/Linux)下载器件库文件,将下载完成的 .qzd 文件,一定要放到 安装 Quartus II 软件的 bin 目录下(例如本机文件路径D:\\altera\\...

联想本本重xp换成vista后开机出现没有找到image.ll因此这个应用程序未 ...
是 image.dll吧 是一个保存图标的文件 最简单的办法是重装系统 要不去别的有vista的电脑里找这个文件记住这个文件的位置然后用U盘什么的复制到自己的电脑里

钢筋基础里面DL是什么梁
建筑框架结构,梁有主梁L和次梁CL。框架梁;拉梁;井字梁。 砖混结构中,有连系梁LL,边梁BL指阳台最外侧的梁;挑梁TL指阳台外挑主梁;门过梁MGL;窗过梁CGL;圈梁QL; 屋框梁指屋顶承重梁,起屋顶承重作用。 一、箍筋表示方法: ⑴ φ一0@一00\/二00(二) 表示箍筋为φ一0 ,加密区间距一00,...

LL(LC)是什么梁
连梁。dl是地梁,dkl是地下框架梁,ll是连梁。连梁:在剪力墙结构和框架—剪力墙结构中,连接墙肢与墙肢,连梁是指两端与剪力墙相连且跨高比小于5的梁.连梁一般具有跨度小、截面大,与连梁相连的墙体刚度又很大等特点.规范定义为:“结构墙中较大洞口上下两边的墙体”。

建筑工程中常用的构件
DL 16 单轨吊 DDL 17 轨道连接 DGL 18 车挡 CD 19 圈梁 QL 20 过梁 GL 21 连系梁 LL 22 基础梁 JL 23 楼梯梁 TL 24 框架梁 KL 25 框支梁 KZL 26 屋面框架梁 WKL 127959 65039 柱包括34 柱 Z 35 框架柱 KZ 36 构造柱 GZ 127753 支撑包括42 ...

求犬夜叉的主题歌mp3格式的及日文歌词
<P>《犬夜叉》音乐篇-1 mp3 http:\/\/dl.game.the9.com\/etc\/music\/2004\/06\/4_inuyasya\/4_inuyasya_tv1.rar <P>《犬夜叉》音乐篇-2 mp3 http:\/\/dl.game.the9.com\/etc\/music\/2004\/06\/4_inuyasya\/4_inuyasya_tv2.rar <P>《犬夜叉》音乐篇-3 mp3 http:\/\/dl.game.the9....

...被提示“抽取:无法写入文件emule_kernel.ll”,我应该如何解决。_百 ...
尊敬的迅雷用户,您好:1、请到这里 http:\/\/dl.xunlei.com\/xl7.9\/intro.html 重新下载迅雷,然后卸载重新安装。(一定要卸载重新安装,避免把旧问题覆盖上了,下载记录可以保存的,到我的电脑-控制面板-卸载卸载里面调用迅雷7的卸载程序去卸载,卸载到一半会提示你是否保留下载历史记录,点击是,然后再...

惠东县15335825289: 动态链接库和.DLL有什么区别?
毕薇引阳: 上面的兄弟正确! dll是动态链接库文件的一种格式.这类型的文件很重要,要是误删除可能会导致电脑蓝屏、死机、无法启动等故障!所以不要情意动他! 希望能帮到你!

惠东县15335825289: 什么是DLL文件 -
毕薇引阳: DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源.Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源. DLL多数情况下是带有DLL扩展名...

惠东县15335825289: dll是什么? -
毕薇引阳: dll DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源.Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源. DLL多数情况下是带有DLL扩展...

惠东县15335825289: *d.dll和*.dll文件有什么区别和共同点 -
毕薇引阳: 共同点都是dll文件,前者是文件各最后一字符为d的文件,后者指所有的文件.

惠东县15335825289: 什么是DLL文件?
毕薇引阳: DLL文件(Dynamic Linkable Library 即动态链接库文件),是一种不能单独运行的文件,它允许程序共享执行特殊任务所必需的代码和其他资源 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整...

惠东县15335825289: 有dll后缀的文件属于什么文件?
毕薇引阳: 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL 是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件.动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数.函数的可执行代码位于一...

惠东县15335825289: 静态链接库LIB和动态链接库DLL的区别 -
毕薇引阳: 一、动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源.动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件...

惠东县15335825289: Dll文件区别类库和动态链接库有什么区别?
毕薇引阳: 类库是编程语言中把一些功能块封装起来, 实现某种功能的一些函数集合. 动态链接库是把一些功能编译好, 生成一个dll文件, 是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源.

惠东县15335825289: DLL是什么类型的文件?有什么作用? -
毕薇引阳: 一、DLL的原理 1.动态链接程序库 动态链接程序库,全称:Dynamic Link Library,简称:DLL,作用在于为应用程序提供扩展功能.应用程序想要调用DLL文件,需要跟其进行"动态链接...

惠东县15335825289: 动态链接库(DLL)是什么意思啊? -
毕薇引阳: 你可以简单的把 DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类.在仓库的发展史上经历了“无库 -静态链接库-动态链接库”的时代.静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含最终生成的 EXE文件中了.但是若使用 DLL,该 DLL不必被包含在最终 EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与 EXE独立的 DLL文件.静态链接库和动态链接库的另外一个区 别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网