![为什么 wine 不是模拟器?](https://linux22.com/image/1354439/%E4%B8%BA%E4%BB%80%E4%B9%88%20wine%20%E4%B8%8D%E6%98%AF%E6%A8%A1%E6%8B%9F%E5%99%A8%EF%BC%9F.png)
据我所知,它只是在 Linux 上模拟 Windows API,并将 Windows c 函数传递给 Linux 内核中的 c 函数。有人能解释一下吗?
答案1
维基百科- 是一个很好的起点,并指出:
“Wine 不是模拟器”这个短语指的是在 Wine 下运行 Windows 应用程序时不会发生处理器代码执行模拟。“模拟”通常是指通过解释/重新编译在不同处理器(例如 PowerPC)上运行的软件来执行为一个处理器(例如 x86)编译的代码。这种模拟几乎总是比代码编译的处理器执行相同代码慢得多。在 Wine 中,Windows 应用程序的编译 x86 代码在计算机的 x86 处理器上以全速运行,就像在 Windows 下运行时一样。而且 Windows API 调用和服务也不会被模拟,而是用为 x86 编译并以全速运行的 Linux 等效项代替。