百科狗-知识改变命运!
--

dll和exe有什么区别

百变鹏仔1年前 (2023-12-16)阅读数 6#综合百科
文章标签文件函数

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

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

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

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

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

区别

dll和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

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)