exe文件和dll文件的区别到底是什么?

作者&投稿:丁先 (若有异议请与网页底部的电邮联系)
.exe文件和.dll文件有什么区别~

.exe文件和.dll文件最直接的区别是,前者是一个可以直接执行的程序文件,后者是一个不完整的程序文件,供执行程序运行时调用。

下面分别介绍两种文件:

1、.exe是一种可在操作系统存储空间中浮动定位的可执行程序,或者指WINDOWS操作系统中的二进制可执行文件。

.EXE文件包含一个文件头和一个可重定位程序映象。文件头包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值。文件头还指向一个重定位表,该表包含指向程序映象中可重定位段地址的指针链表。

EXEHEADER ENDS程序映象,包含处理器代码和程序的初始数据,紧接在文件头之后。它的大小以字节为单位,等于.EXE文件的大小减去文件头的大小,也等于exHeaderSize的域的值乘以16。MS-DOS通过把该映象直接从文件拷贝到内存加载.EXE程序然后调整定位表中说明的可重定位段地址。

2、.dll文件,DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。

在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。

DLL文件中存放的是各类程序的函数(子过程)实现过程,当程序需要调用函数时需要先载入DLL,然后取得函数的地址,最后进行调用。使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减小程序的体积。

现在的Windows中,exe 和 dll 都是基于PE格式,exe 是通常的可执行文件,包含数据和代码,而 dll 是动态链接库文件,也有可能是纯资源文件,只包含数据,不含程序代码。dll的目的之一就是提供能被许多不同的应用程序所使用的函数和资源。dll 中的函数和资源为软件开发提供了复用(注意所谓的复用是同一个dll文件可以同时为多个exe文件调用)。它们是在运行时由磁盘物理映像载入被调用者的内存空间或共享内存空间执行。

exe文件是标准的可执行文件,dll文件是一种动态数据库文件,一般的dll文件是经过加密的.

EXE就是可执行文件,你可要双击它, 它就可以运行,而DLL是一个动态链接库文件,就是说,它不可以自己运行,它是须要一个程序的其它功能运行的时候,它才能运行,打个比方,如果你的QQ要升级,那QQ里面有关升级的DLL文件它就会运行.

exe文件是可执行文件 dll文件就是借助某种程序来访问加载等等

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。
DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。
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文件,使其不被选中,这样开机时就不会出现错误提示了。
参考资料:http://very80.blogchina.com/2579838.html


玩cz开sxe出现错误,老自动退出,xe日志如下!
3.CS中地图或其它文件被修改,为防止作弊,SXE是自己不允许自己运行的,解决办法是应该查看日志,如果日志中有明显的CS地图标示,如:de_dust2.asp等则是地图的问题,只要把相应的地图删除即可。如果出现其它CS文件的信息,则相应删除即可。4.出现X:\\sXe Injected\\sxe.dll;X:\\sXeInjected\\ddsxei.sys...

提示加载xedbcore.dell失败是怎么回事
晕啊,一楼说的是什么啊。 你说的安装软件出现加载DLL文件出错,大部分可能是系统中的DLL文件失效,你可以尝试重新注册就行了。

DELPHI 编译出错,每次编译那个项目都会出现这个提示,偶尔能通过,十次有...
DLL还有什么用去,如果要反复使用某个过程或函数,还不如写几个自定义函数好。有些以为自己会写DLL就了不起了,因此,只要写软件,就弄几个DLL出来显摆显摆,写DLL没有什么难的,实际上就是一个可以单独编译的单元文件,准确的说,这不如单元文件,因为它只能解决一个问题,只有一个入口嘛。

关于“Eset”下的病毒
同时他是一个循环程序~~通过这个文件在其他电脑上启动215366M.BMP。这些U盘病毒的删除方法我也提过,但是这个比较好删,可以直接删除(每个硬盘里的!autorun.inf也一起删掉)二是启动 QQHX.dat,xeklsk.exe,zts2.dll(是征途盗号木马病毒ztdll.dll的变种)等多种大型游戏木马病毒!(有dllwm.dll和...

请教Delphi如何调用VC写的DLL,如何传递数组参数
老版本的Delphi7,是无法传递像这样的ObjectList类型的参数的,新版本的DelphiXE可以。我电脑上装了DelphiXE6,不算是最新的,他在生成WebService的声明文件时,可以正确解析出对方的ObjectList,而D7则不能。像你这样的情况,无非的两种解决办法:1、找其他开发工具做一个接口,由他再做一层封装和处理...

开机时出现c:\\windonws\\system32\\xedrs.dll出错拒绝访问,该怎么解决...
开始-运行-键入regedit-在上方的编辑菜单打开选查找,将iakonm04.dll输入,搜索,发现的全删除,如果删除不了,请进安全模式(开机按F8)运行 msconfig -启动 把命令iakonm04.dll取消 就OK了~!如果不行尝试一下使用反流氓软件的工具,比如金山清理专家,到http:\/\/www.duba.net\/zt\/ksc\/下载。这类现象...

Delphi xe6 报错 rtl200.bpl
我也有遇到你这个问题:“Access violation at address 5015AB7C in module ‘rtl200.bpl’.Read of adress 00000005.意思是:在地址 5015AB7C 非法访问,禁止对地址00000005的读取 。这个rtl200.bpl本质上就是一个dll动态链接库文件;出现这个问题的原因可能是由于你使用Delphi XE6破解程序没有按照流程...

...提示没有注册类 Borland.Build.Tasks,Common.dll
"%WINDIR%\\Microsoft.NET\\Framework\\v2.0.50727\\regasm.exe" Borland.Studio.Cpp.Structure.dll "%WINDIR%\\Microsoft.NET\\Framework\\v2.0.50727\\regasm.exe" Borland.Build.Tasks.Common.dll "%WINDIR%\\Microsoft.NET\\Framework\\v2.0.50727\\regasm.exe" Embarcadero.Studio.Modeling.dll "%WINDIR%\\...

木马Trojan\/Win32 查杀
解决方法 面对以上的情况,有些用户只能重新GHOST计算机了。但根据笔者的亲身经历方法还是有很多,这里提供一种方法让用户尝试。一、让文件不再隐藏 打开运行项在其内输入regedit调出注册表界面依次展开键值HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion \\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL...

电脑启动时出现\\"加载C:\\\\PROGRA~1\\\\WEKU\\\\GRAXE.EXE出错\\"的提示是怎 ...
.根据你的描述,那应该是一个已被删除了的病毒或间谍软件。但也有可能是你卸载某个软件不正确留下的残留.dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。如果你点击“...

易县14794227584: exe文件和dll文件的区别到底是什么? -
沃态迈纬: EXE就是可执行文件,你可要双击它, 它就可以运行,而DLL是一个动态链接库文件,就是说,它不可以自己运行,它是须要一个程序的其它功能运行的时候,它才能运行,打个比方,如果你的QQ要升级,那QQ里面有关升级的DLL文件它就会运行.

易县14794227584: .exe文件和.dll文件有什么区别 -
沃态迈纬: .exe文件和.dll文件最直接的区别是,前者是一个可以直接执行的程序文件,后者是一个不完整的程序文件,供执行程序运行时调用.下面分别介绍两种文件:1、.exe是一种可在操作系统存储空间中浮动定位的可执行程序,或者指WINDOWS操...

易县14794227584: dll和exe有什么区别 -
沃态迈纬: dll 是动态链接库,就是说dll里包含了翻译后的一些程序中要调用的方法.但dll文件不可以执行,只允许被调用.exe是可执行文件,一般做为程序的执行入口.dll 和 exe 的生成:翻译器会对你开发的应用程序中所用到的类库生成成...

易县14794227584: exe与dll有什么区别 -
沃态迈纬: dll是动态链接库,不可直接运行,dll提供库函数给其他程序调用.exe可执行程序,文件可以直接运行.最简单的就是exe你可以通过双击鼠标运行,dll不行.一般exe运行起来都要调用好多dll的库函数,这些dll有系统自带的,有应用程序带的.

易县14794227584: EXE和DLL之间的区别是什么 -
沃态迈纬: 现在的Windows中,exe 和 dll 都是基于PE格式,exe 是通常的可执行文件,包含数据和代码,而 dll 是动态链接库文件,也有可能是纯资源文件,只包含数据,不含程序代码.dll的目的之一就是提供能被许多不同的应用程序所使用的函数和资源.dll 中的函数和资源为软件开发提供了复用(注意所谓的复用是同一个dll文件可以同时为多个exe文件调用).它们是在运行时由磁盘物理映像载入被调用者的内存空间或共享内存空间执行.

易县14794227584: exe和dll的区别 -
沃态迈纬: exe文件是可执行文件,可以说是软件的打开文件. dll是动态链接库,是软件在执行过程中需调用的文件. 相同的是,最好都不要删.

易县14794227584: DLL和EXE文件有什么区别? -
沃态迈纬: exe是可执行文件 DLL是提供了可执行程序调用的函数function

易县14794227584: dll与exe的区别
沃态迈纬: dll一般是系统的! EXE就是一般的程序进程!

易县14794227584: 请问,exe和dll的区别是什么?dll怎么运行? -
沃态迈纬: 所谓动态链接库(Dynamic-Link Libraries,简称DLLs),简单地说就是一个可执行模块,其扩展名为.DLL,模块中包含了可以被其他应用程序或其他DLLs使用的例程和资源.跟 一般的的可执行程序扩展名为.EXE不同的是,DLLs没有通常的主程序,但它有多个执行入口.DLLs的特点在于它的代码是在运行期动态地链接到调用它的程序中的,DLLs一旦加载,就能被多个应用程序或其它DLLs共享.

易县14794227584: 怎么区分exe文件和.dll文件 -
沃态迈纬: exe这些你自己看后缀也可以知道.还有如果你编程也知道exe是可执行文件带pe头的.dll是动态连接链.没有这个开头.我记得执行文件是004000开头的.你可以使用od这些汇编软件打开就一目了然了.

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