0

只是关于编译内核的一个小说明(不是我正在做任何:P)。我对编译的了解是它是特定于机器的,尽管您可以使用交叉编译器来编译您的工作以在不同的机器上运行(或编译为字节码以在虚拟机下运行),但交叉编译需要一些基础知识/要求运行您编译的程序(如 C++/C 库或 Java VM...)所必需的。

但是内核呢?他们编译一次并神奇地在每台机器上运行(* 没有检查),我在网上搜索并找到了一些如何交叉编译内核的指南,但没有说明它为什么或如何工作!具有不同指令集的不同 CPU 如何成功运行相同的二进制文件?!

如果您有一些参考来回答我的问题,我将非常感谢,也许让我开始学习更多关于内核的东西会很棒:D

4

1 回答 1

0

他们没有。为 ARM v6 编译的内核不会在任何其他类型的 CPU 上运行。每个二进制文件都是一样的,内核并不神奇。交叉编译仅意味着生成的二进制文件特定于与编译器运行的架构不同的架构。例如,在我的 x86 桌面上,我可以编译将在 x86 上运行的二进制文件,或者我可以交叉编译将在例如 PowerPC 上运行的二进制文件。但两者都不会在对方的目标平台上运行。

于 2013-04-17T13:31:10.740 回答