EXE文件和DLL文件有什么区别?它们是如何生成的?


编写.NET代码时,可以选择创建EXE文件或DLL文件。两者都包含可执行代码,但DLL和EXE文件的运行方式不同。运行EXE文件会创建自己的线程并保留其资源。而DLL文件是进程内服务器,因此无法单独运行DLL文件。运行中的应用程序通过加载和调用DLL来使用其代码。

  • DLL的主要目的是简化计算机程序的模块化过程。这简化了操作,并更容易查明问题所在。

  • 如果将所有代码编译成单个可执行文件,它会非常庞大,加载时间也会很长。使用DLL不仅可以提高可移植性,还可以提高可重用性。

  • 例如,如果有一些可以将现有文件转换为不同格式的代码,并将这些代码放入动态链接库(DLL)中,那么几乎可以在开发的任何软件中使用该功能。如果将其放入EXE文件中,则只有最初面向它的应用程序才能使用它,因为该函数对其他程序不可见。因此,对于更通用的任务,使用DLL非常有益。

使用.NET编写程序时,需要创建一个可执行文件,因为用户将运行该应用程序。EXE文件至关重要,因为它充当您使用的软件的入口点或起点。之后,您可以拥有任意数量的DLL。最好只有一个EXE,因为不能将一个EXE与另一个EXE结合使用。

什么是EXE文件?

需要在Windows上编译的程序称为“EXE文件”,扩展名为.exe。

可执行文件称为EXE文件。打开时,其主要目的是启动程序。这是通过运行特定的脚本或使用文件中的一些数据来实现的。

在Windows计算机上启动程序或应用程序时,“.exe”文件实际上使程序或应用程序能够运行。但是,插件也可能被利用来传播病毒和恶意软件。

从未知来源下载“.exe”文件时,用户需要谨慎。它包含恶意软件的可能性最高。

可执行文件基本上分为两类。这两个文件都是从各自的源代码汇编而来的。CPU在转换后执行二进制编码的代码。

  • 编译程序 − 编译程序是在Windows上具有.exe文件扩展名的程序。

  • 脚本 − 脚本是未编译的可执行文件。这些文件以纯文本格式保存。脚本通常缺乏可执行的机器代码;因此需要解释器来运行程序。

什么是DLL文件?

动态链接库,也称为“.dll”文件,是一种包含特定指令的文件,这些指令在需要时由其他应用程序使用。Windows程序可以使用此库访问各种不同类型的信息和功能。

DLL文件无法自行执行代码。相反,它们必须由计算机上当前正在执行的其他代码调用。

在引用动态链接时,使用“动态”一词。这意味着数据仅在程序专门请求使用时才在程序中使用。信息并非始终从内存中访问。“.dll”文件扩展名定义文件为DLL。

这些文件主要使用C++计算机语言构建。因此,任何了解如何编写代码的人都可以轻松编写自己的DLL代码。

Windows的标准安装提供了大量的DLL文件。但是,第三方程序可能会将它们安装在您的计算机上。通过使用DLL文件,我们可以将各个软件组件分解成各自的独立模块。DLL使我们能够获得程序的最新版本,而无需每次更新都完全重新安装。

EXE和DLL的区别

下表突出显示了EXE和DLL的主要区别:

比较依据 EXE DLL
全称 代表可执行文件。 代表动态链接库。
运行时 EXE文件是独立的。它们能够独立运行,无需其他应用程序的支持。 这些通常在后台用作支持文件,以便其他应用程序正常运行。
数量 当只讨论一个应用程序时,包中只有一个可执行文件。 DLL文件数量没有预定顺序。可能有多个DLL文件。
内存 由于扩展名,需要额外的存储空间和内存。 不需要任何额外的内存空间。使用分配给当前正在运行的应用程序的内存。
共享 无法与其他应用程序共享此信息。因此,它们无法重复使用。 可以与其他程序共享此信息。它们可以多次使用。
类型 EXE是程序 DLL是库

结论

可以将写在计算机文件名末尾的标识符称为文件扩展名。有许多不同类型的文件扩展名,最常见的大概是.exe和.dll。

人们经常将这两个术语混淆。但是,这两个概念完全不同。

DLL无法独立执行。它们很可能用作支持文件来执行其他应用程序。此外,它们内部没有专用的内存存储区域。

EXE文件扩展名表示一种可以独立运行的可执行文件类型。它们可以在无需任何辅助程序或应用程序的情况下运行。

更新于:2022年8月4日

13K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始
广告