对于 Windows 应用程序与 Linux 不兼容这一事实,最简单的解释是什么?

对于 Windows 应用程序与 Linux 不兼容这一事实,最简单的解释是什么?

如果有人问你这个问题,你该如何回答:

...为什么我无法在 Linux 计算机上安装 Windows 应用程序?

答案1

你可以用“人类语言”作为类比。

Windows 程序使用 Windows API 与 Windows 操作系统通信,API 就像一种语言。

Linux 程序使用另一种语言 Linux API 与 Linux 操作系统对话。Linux 不会“说”Windows API,Windows 也不会“说”Linux API。

有一些方法可以让 Linux 理解 Windows API,比如安装 Wine 作为翻译器。

答案2

稍微改进一下“人类语言”的类比:

每当程序需要在屏幕上显示某些内容(窗口、文本、图片、菜单、按钮……)、从磁盘读取文件、连接网络、发出声音、在用户单击鼠标或键入内容时执行某些操作时,它都必须请求操作系统执行这些操作。事实上,与操作系统对话是程序大部分时间都在做的事情。

Windows 操作系统和 Linux 操作系统都可以轻松完成所有这些操作,但由于它们是由不同的人创建的,因此它们以不同的方式执行,并且程序需要以不同的方式请求这些服务。Linux 和 Windows 使用的语言完全不同。

答案3

首先,葡萄酒

第二,(简单地说)是因为应用程序使用系统功能,而每个系统都不一样,所以不兼容。

答案4

更新 - 2019

这篇 2009 年的帖子,十年过去了,已经不再完全正确。

Linux 上的 Windows exe

很多 Windows 应用程序都可以使用 WINE 在 Linux 上正确运行,WINE 在过去 10 年中发展迅速。WINE 提供了将 Windows 系统调用转换为 Linux 并理解其exe格式的库。

Windows 上的 Linux

Windows 容器适用于 Linux 的 Windows 子系统 (WSL),Windows 10 可以运行基于 Linux 的容器和程序,而且运行效率相当高。

相关内容