为什么 wine 不是模拟器?

为什么 wine 不是模拟器?

据我所知,它只是在 Linux 上模拟 Windows API,并将 Windows c 函数传递给 Linux 内核中的 c 函数。有人能解释一下吗?

答案1

维基百科- 是一个很好的起点,并指出:

“Wine 不是模拟器”这个短语指的是在 Wine 下运行 Windows 应用程序时不会发生处理器代码执行模拟。“模拟”通常是指通过解释/重新编译在不同处理器(例如 PowerPC)上运行的软件来执行为一个处理器(例如 x86)编译的代码。这种模拟几乎总是比代码编译的处理器执行相同代码慢得多。在 Wine 中,Windows 应用程序的编译 x86 代码在计算机的 x86 处理器上以全速运行,就像在 Windows 下运行时一样。而且 Windows API 调用和服务也不会被模拟,而是用为 x86 编译并以全速运行的 Linux 等效项代替。

相关内容