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

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

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

解析:

后缀为.exe的文件是“核颂可执行文件类型”,.dll文件是超链接文件。前者可以直接执行(运行),电脑里安装的大部分应该程序的运行实现就是通过这种exe文件的;后者不能直接执行,而是连接可执行文件与系统的服务啊之类的关联文件,很多exe文件的运行都改辩郑会调用dll文件。

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

dll 是动态链接库,就是说dll里包含了翻译后的一些程序中要调用的方法。但dll文件不可以执行,只允许被调用。

exe是可执行文件,一般做为程序的执行入口。

dll 和 exe 的生成:翻译器会对你开发的应用程序中所用到的类库生成成dll文件,而且exe则取决于你编写的程序,如果你编写的客户端程序,需要用户安装,那么这种情况下要生成exe供用户执行安装 *** 作。

动态链接库(Dynamic Link Library,缩写为DLL)

是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似.

区别

DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。

动态链接是相对于静态链接而言

的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话判纳说,函数和过程的代码就在程序的exe文件中,该文件包

含了掘搜没运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。

而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。

仅当应用程序被装入内存开始运行时,在Windows的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行漏汪所调用DLL中的函数时,根据链接产生的重定位信息,Windows才转去执行DLL中相应的函数代


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存