.exe 文件为何比其安装的程序小这么多?

.exe 文件为何比其安装的程序小这么多?

我已经编程几年了,但我仍然不明白为什么 EXE 安装程序有时会比它安装的程序小很多。

我可以理解使用高级类会转换成大量的机器代码(这意味着源文件将比它们创建的机器代码小),但这真的可以解释偶尔出现的巨大差异吗?

代码能做什么来生成比源代码多得多的信息?这显然不只是一堆 for 循环将相同的短语重复写入多个文件。一个小程序如何能以与运行它的代码量不成比例的比例创建有意义的信息?

答案1

@Mj535 是对的。基本上,它们以一些特定的方式工作:

  • 一些 .exe 安装程序也是在线安装程序。运行后,它们会连接到互联网并下载文件,下载后再安装文件。Visual Studio 安装程序就是一个很好的例子。这些安装程序是最小的。

  • 有些是离线安装程序,其中包含压缩文件,并在安装时从自身提取文件。因此,在使用离线安装程序安装程序时,您会看到复制文件阶段。

  • MSI 安装程序将文件压缩为其中的 CAB 文件。

答案2

基本上,它以两种方式工作:

EXE 包含压缩文件并在启动时对其进行解压缩,或者 EXE 转到特定的服务器链接并将文件下载到您的计算机。

如果你要制作 EXE,最佳选择是压缩大文件并从服务器下载较小的文件。这可以加快用户的使用速度。

相关内容