【发布时间】:2014-02-01 16:36:22
【问题描述】:
我四处寻找这些问题的答案。但运气不佳。
-
是否可以在带有
64-bit processor的机器上运行32-bit代码?答案似乎是肯定的。但在性能问题上存在争议,因为
32-bits在处理器上未被使用。 -
现在我的问题是反之亦然,是否可以在具有
32-bit处理器的机器上运行64-bit代码?据我所知,答案是否定的,因为代码设计为在
64-bit上运行 将使用64-process registars,但32-bit机器只提供32 个。
另一方面,我找到了this link。据此,可以在 32 位机器上编译 64 位代码。但我不清楚这是如何完成的,而且如果在32-bit 机器上编译也将保证 execution 相同。
感谢您的帮助
【问题讨论】:
-
"据此,可以在 32 位机器上编译 64 位代码。" - 是的,这完全有可能。这称为交叉编译。但这与 32 位机器可以运行什么代码/可执行文件无关。
-
学究式地说:32位和64位机器都是图灵机。所以他们可以互相模仿......
-
@Mysticial:这到底是什么意思?不清楚你在这里的意思..
-
@user1988876 QEMU 可以在 32 位主机架构上模拟 64 位处理器 - 请参阅 stackoverflow.com/a/56332/2864740(但很少有最终用户可能愿意运行并行操作系统)
标签: c compilation 32-bit cpu-registers processor