gpt4 book ai didi

operating-system - 编译成机器语言的程序如何在不同的机器上运行?

转载 作者:行者123 更新时间:2023-12-04 16:32:06 26 4
gpt4 key购买 nike

在学校里,我们被教导编译器将计算机程序编译成机器语言。我们还被告知机器语言由对硬件的直接指令组成。那么同一个编译后的程序如何在不同硬件的多台计算机配置上运行呢?

最佳答案

取决于您所说的“不同硬件”是什么意思,如果它是相同的处理器(或相同的家族,例如 Intel x86),那么机器代码指令是相同的。

如果额外的硬件是不同的外围设备(屏幕、磁盘打印机等),那么操作系统会通过为您提供一组一致的指令来驱动它们来隐藏这些细节

如果你的意思是,你怎么能在 Intel x86 上运行一个 ARM cpu 的程序,那么你不能 - 除了某种读取每个 ARM 指令并将它们转换成 x86 或运行相同的虚拟机模拟器功能作为一组 x86 函数,然后返回与 ARM 函数相同的答案。

编辑:我假设您的意思是具有不同硬件的 PC - 即不同的外围设备但相同的处理器系列?

与硬件交谈并不涉及特定的指令 - 它主要是将内存移动到操作系统和/或设备驱动程序专门为进入该设备的数据保留的特定位置的问题。在 DOS 和 BIOS 的旧时代,您将触发中断以调用 BIOS 中的特定代码位来处理该数据并将其发送到硬件。

关于operating-system - 编译成机器语言的程序如何在不同的机器上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com