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中相应的函数代
温馨提示:答案为网友推荐,仅供参考
相似回答