.EXE文件和.DLL文件有什么区别?

.EXE文件和.DLL文件有什么区别?,第1张

分类: 电脑/网络 >> *** 作系统/系统故障

解析:

后缀为.exe的文件是“可执行文件类型”,.dll文件是超链接文件。前者可以直接执行(运行),电脑里安装的大部分应该程序的运行实现就是通过这种exe文件的;后者不能直接执行,而是连接可执行文件与系统的服务啊之类的关联文件,很多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文件调用)。它们是在运行时由磁盘物理映像载入被调用者的内存空间或共享内存空间执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11687009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存