跨GCC和Linux GCC工具链之间的区别


24

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

是什么这些工具链之间的实际差别- Cross GCCLinux GCC。在什么情况下使用它们?是否在Linux和Windows机器上都可以编译项目是否与之相关?

其中一个答案中,我们可以看到:

通常,交叉编译器是为与您的系统不同类型的系统生成代码的编译器。

因此,如果我使用自己的makefile在目标计算机上编译项目,那么在这里选择什么选项都没关系,对吗?


10
跨GCC意味着您要针对其他体系结构编译项目,例如,您具有x86处理器,并且希望针对ARM进行编译。Linux GCC仅表示标准GCC
Ulrich Dangel

Answers:


16

Wikipedia上的Cross编译器文章相当不错。通常,交叉编译器是为与您的系统不同类型的系统生成代码的编译器。通常这意味着不同的目标硬件体系结构,但是也可能意味着不同的目标操作系统(或两者)。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.