【发布时间】:2016-02-22 06:42:40
【问题描述】:
好的,据我了解,不同的CPU有很多不同类型的ISA,比如x86、MIPS等。当编译器在不同的ISA环境下编译源代码(C++/JAVA)时,生成的汇编代码也会有所不同。然后,我想知道生成的二进制机器代码是否也会不同还是一样????我的猜测是生成的二进制代码是一样的,不然不同的CPU怎么能在不同的电脑上运行同一个exe文件呢??我想知道我的假设是否正确。感谢您的澄清!
【问题讨论】:
-
“否则不同的CPU怎么能在不同的电脑上运行同一份exe文件?”你怎么会觉得他们可以呢? Raspberry PI 无法运行为基于 x86/Windows 的 PC 构建的可执行文件(反之亦然)。至少不是没有某种模拟器。如果您谈论的是两台基于 x86 的 PC(运行相同类型的操作系统),那么简单的答案是它们共享相同的 CPU 架构。
标签: assembly compilation instruction-set