Eds*_* Ho 2 windows assembly executable
我听说汇编语言取决于 CPU,事实上 .exe 文件几乎可以在所有 Windows 机器上运行。让我想知道这是如何工作的?
这是否意味着只有几种汇编语言?
或者 Windows 系统是否进行某种转换以适应不同类型的 CPU?
简单的回答:
它们不能在“不同的 CPU”上执行。
更复杂的答案:
大多数运行 Windows 的计算机仅使用两种不同类型的 CPU:x86 或 x86-64。
然后是所谓的“.NET”可执行文件。此类可执行文件不包含任何机器代码,但包含特殊的字节代码(类似于 Java 程序)。
当您第一次在某台计算机上运行该程序时,Windows 会将该字节码转换为适合您运行该程序的计算机的机器代码。如果您在 ARM 计算机上运行该程序,则字节码将被转换为 ARM 程序。
计算机将实际执行“翻译”,而不是原始的“.NET”可执行文件。
因为“翻译”是针对特定计算机完成的,所以不需要在不同的 CPU 上执行。
| 归档时间: |
|
| 查看次数: |
810 次 |
| 最近记录: |