Windows 可移植可执行文件,Linux 等效版本

Windows 可移植可执行文件,Linux 等效版本

最近我使用 Unity 3d 制作了一个简单的游戏,发现它可以在每台 Windows 机器上运行,只需复制文件和可执行文件即可。

我想知道怎么做,因为我读到过,编译后的程序无法移植。由于系统架构、Windows 版本... 你需要为每台机器进行编译。

另外我想知道 Linux 机器上是否有类似的东西。

如果有人可以向我解释安装游戏时发生了什么(程序在做什么,是否有一些编译或仅复制文件,设置路径并检查依赖项)

答案1

你说得对,程序必须针对每个特定的体系结构和操作系统进行编译。编译后的程序无法在体系结构或操作系统之间移植。

幸运的是,几乎每台计算机都是 32 位 x86 架构或 64 位 x86_64 架构(与 x86 兼容)。此外,包括 XP 在内的所有 Windows 版本都基本兼容,因为它们都基于相同的内核。这允许为 x86_64 和 Windows 编译的程序在任何 64 位 Windows 机器上运行,为 x86 Windows 编译的程序基本上可以在任何 Windows 机器上运行。当然,这是假设所有正确的 dll 都已到位。

Linux 也是如此,因为所有版本的 Linux 都应该兼容。

安装游戏通常只是将游戏文件和库复制到特定目录。有时它还会设置游戏运行所需的一些变量。安装程序在安装前几乎从不动态编译源代码,尽管有些程序(通常用于 Linux)以源代码形式分发,用户必须在安装前自行编译。

相关内容