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中相应的函数代
.EXE文件和.DLL文件有什么区别?
1、编程思想没有什么区别。核心底层理念上有分别,特别是与C++的MFC架构相比。
2、C#基于.net技术。所以,它写出的DLL一般也只能在安装有.net的系统上运行。所以理论上比直接生成机器码的C++的DLL效率要慢一些。
3、C++调用C#的DLL时,要使用.net相关的东西,比如要求CLR方式编程,不能用MFC架构。
4、别的编程调用C#的DLL时也是类似的道理。如果是C#自个调自个的DLL,那基本上不用关注什么。
分类: 电脑/网络 >> 操作系统/系统故障
解析:
后缀为.exe的文件是“可执行文件类型”,.dll文件是超链接文件。前者可以直接执行(运行),电脑里安装的大部分应该程序的运行实现就是通过这种exe文件的;后者不能直接执行,而是连接可执行文件与系统的服务啊之类的关联文件,很多exe文件的运行都会调用dll文件。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!