为什么windows的软件mac系统上无法执行?

发布于 2022-09-06 03:04:00 字数 150 浏览 37 评论 0

我知道用高级语言写的程序最终是要翻译成目标CPU的指令。

那么问题来了,mac系统和windows系统用的都是x86 或者 x64的cpu指令集。
也就是翻译的目标cpu指令应该是一样的不是吗?

那么为什么windows的软件不能再mac上执行呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风吹雨成花 2022-09-13 03:04:00

有两个主要原因:

  1. 可执行文件格式不一样,windows下是PE格式,mac是ELF格式。
  2. windows和mac的操作系统不一样,系统库也不一样。所以无法兼容。

当然可以通过增加中间层的方式来实现兼容。 比如java代码编译成bytecode,然后通过java虚拟机执行。在这种情况下bytecode通用,每个系统的java虚拟机不一样。 python, php之类的脚本语言也类似,都有编译成中间码,然后每个系统和硬件建构下都有不同版本的运行环境。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文