gpt4 book ai didi

c - 真的需要交叉编译器吗?

转载 作者:行者123 更新时间:2023-12-05 06:39:52 28 4
gpt4 key购买 nike

我遇到了两个用 C 语言制作简单内核的指南。

  1. http://wiki.osdev.org/Bare_Bones
  2. https://github.com/arjun024/mkernel

第一个为i686架构开发内核,第二个为i386开发内核。

我感到困惑的主要部分是,我们使用交叉编译器来编译和链接第一个,但没有为第二个使用任何交叉编译器。因此,如果不使用交叉编译器就可以编译和链接第二个,为什么我们要在第一个中使用交叉编译器?

最佳答案

交叉编译器是用于编译到不同平台或架构的编译器。正如上面评论中所说,osdev wiki 上有很多信息。但一般来说,只有编译到与主机相同的平台时才需要交叉编译器。如果您的主机是 x86_64,并且您正在制作一个针对 x86_64 的操作系统,则不需要交叉编译器。否则,如果您在 x86_64 机器上并且正在为 x86(32 位)或 arm 进行编译,则您确实需要交叉编译器。

话虽如此,Michael Petch 的评论是完全正确的,即使用交叉编译器通常是一个非常安全的选择,可以消除一些与主机相关的问题。虽然我自己从未遇到过这些问题,但它们是合理的担忧。

关于c - 真的需要交叉编译器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44192494/

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