如果有人问你这个问题,你该如何回答:
...为什么我无法在 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 的容器和程序,而且运行效率相当高。