Cross GCC 和 Linux GCC 工具链的区别

Cross GCC 和 Linux GCC 工具链的区别

在 Eclipse 中创建新的 C++ 项目时,有人询问我有关工具链的问题。

这些工具链Cross GCCLinux GCC.在什么情况下使用它们?这与项目是否要在linux和windows机器上编译有关系吗?

答案之一我们可以读到:

一般来说,交叉编译器是为与您的系统不同类型的系统生成代码的编译器。

所以如果我使用自己的 makefile 在目标机器上编译项目,我在这里选择什么选项并不重要,对吗?

答案1

交叉编译器维基百科上的文章相当不错。一般来说,交叉编译器是为与您的系统不同类型的系统生成代码的编译器。通常这意味着不同的目标硬件架构,但也可能意味着不同的目标操作系统(或两者)。

理论上,您可以将它们结合起来,并在架构 A 1和操作系统 S 1上使用交叉编译器来构建一个交叉编译器,该编译器将在操作系统 S 2下的架构 A 2上运行,并为架构 A 3上的操作系统 S 3生成代码。

正如 Ulrich 在他的评论中提到的那样,Linux GCC 应该是您的“本机”编译器(即针对相同的目标)。

相关内容