c - 是否可以在具有 32 位处理器的机器上运行 64 位代码?

标签 c compilation 32-bit cpu-registers processor

我四处寻找这些问题的答案。但运气不佳。

  1. 是否可以在配备64 位处理器 的机器上运行32 位 代码?

    答案似乎是肯定的。但在性能问题上存在争议,因为 32 位 在处理器上未被使用。

  2. 现在我的问题反之亦然,是否可以在配备 32 位 处理器的机器上运行 64 位 代码?

    据我所知,答案是否定的,因为代码设计为在 64 位 上运行 将使用 64-process registars32-bit 机器只提供 32。

另一方面,我找到了this link .据此,可以在 32 位机器上编译 64 位代码。但我不清楚这是如何完成的,而且如果在 32 位 机器上编译也将保证 执行

谢谢帮忙

最佳答案

Is it possible to run 32-bit code in a machine with 64-bit processor?

是的。这是在 Windows 中通过 WOW64 处理的,例如。

Now my question is vice-versa, Is it possible to run 64-bit code in a machine with 32-bit processor?

没有。 64 位代码需要 64 位指令集,这在 32 位处理器上不可用。

According this, it is possible to compile 64-bit code on a 32-bit machine.

您可以为其他架构编译代码,但不能执行。这使您可以为与当前正在执行的平台不同的平台构建代码,但执行它不会起作用。

关于c - 是否可以在具有 32 位处理器的机器上运行 64 位代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21099642/

相关文章:

c - 转置矩阵

python - 编写数论程序

使用 Emscripten 和 Regal 编译用 C 编写的 OpenGL 应用程序 - 使用 Regal 时出现编译问题

javascript - 将十进制值转换为 32 位浮点十六进制

python - 如何强制 py2app 以 32 位模式运行应用程序

gcc - Exec 格式错误 32 位可执行 Windows Linux 子系统?

c - 使用 malloc 循环来保证 malloc 的结果不好吗?

c - 向下转换具有非多态类型的层次结构

c++ - 如何为C++构建32位的Assimp库?

css - 使用 Compass 编译 - 未找到或无法读取要导入的文件