首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.dll和.exe的区别是什么?

.dll和.exe的区别是什么?
EN

Stack Overflow用户
提问于 2009-07-31 06:03:49
回答 8查看 114.7K关注 0票数 100

我想知道dll和exe文件之间的确切区别。

EN

回答 8

Stack Overflow用户

发布于 2009-09-29 15:08:06

不同之处在于EXE有一个入口点,一个将在执行时运行的"main“方法。

需要从另一个应用程序调用DLL中的代码。

票数 32
EN

Stack Overflow用户

发布于 2015-09-11 20:05:56

Dll v/s Exe

1)DLL文件是一个动态链接库,可以在exe文件和其他dll文件中使用。

EXE文件是一个可执行文件,它在由操作系统管理的单独进程中运行。

2)DLL不是直接可执行的。它们是包含函数的单独文件,程序和其他DLL可以调用这些函数来执行计算和函数。

EXE是一种可以执行的程序。例如:Windows程序

3)可重用性

DLL:它们可以在其他应用程序中重用。只要编码器知道DLL文件中的函数和过程的名称和参数。

EXE:仅用于特定目的。

4) DLL将与调用应用程序共享相同的进程和内存空间,而

EXE创建其单独的进程和内存空间。

5)用途

DLL:您希望许多应用程序使用它,但又不想给它们提供无法复制粘贴到每个程序中的按钮的源代码,因此您决定创建一个DL-Library (DLL)。

EXE:当我们使用Windows窗体应用程序、控制台应用程序、WPF应用程序和Windows服务等项目模板时,它们在编译时会生成一个exe程序集。

6)相似性:

DLL和EXE都是二进制文件,具有由可移植可执行文件格式定义的复杂嵌套结构,用户不能对它们进行编辑。

票数 6
EN

Stack Overflow用户

发布于 2011-08-25 10:55:35

两件事:文件中存储的扩展名和头标记。

这两个文件都是PE文件。两者都包含完全相同的布局。DLL是一个库,因此不能执行。如果你尝试运行它,你会得到一个关于缺少入口点的错误。EXE是一种可以执行的程序。它有一个入口点。PE标头内的标志指示它是哪种文件类型(与文件扩展名无关)。PE头有一个程序入口点所在的字段。在DLL中,不使用它(或者至少不作为入口点)。

一个很小的区别是,在大多数情况下,DLLs都有一个导出部分,在那里可以导出符号。EXE永远不应该有导出部分,因为它们不是库,但没有什么可以阻止这种情况发生。无论哪种方式,Win32加载器都不关心。

除此之外,它们是相同的。因此,简而言之,EXEs是可执行程序,而DLL是加载到进程中的库,并包含某种有用的功能,如安全性、数据库访问等。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1210873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档