我是linux和GCC的新手。树莓派的价格诱惑了我。我有兴趣使用GCC交叉编译一些C代码以针对某些嵌入式硬件,特别是Cortex-M3 micro。我最终希望拥有一整套编译器/编程器/调试器,但是现在我开始使用编译器。
所以我在RP3上做了一个快速的非交叉编译测试,一切都很顺利。现在我正在研究如何交叉编译和定位我的UC。在线gcc文档似乎表明我可以使用普通的vanilla gcc,只需指定一些命令行选项来执行交叉编译:https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
但是四处寻找,我发现很多人都提到构建一个gcc交叉编译器。这是什么意思?
gcc是否可以选择兼作交叉编译器?如果是这样,为什么人们希望“构建”交叉编译器?
答案 0 :(得分:1)
交叉编译器是在机器类型A(硬件和操作系统的组合)上创建的交叉编译器,可以在不同的机器类型B上运行,也可以在类型A上运行,但可以生成在不同机器类型上运行的软件乙
因此,如果你有一台Linux机器使用x86_64 CPU并在某个版本的Linux上运行,但你编译GCC以便它可以在运行某个版本的AIX的IBM PowerPC平台上运行,那么你将创建一个编译器。
另一种变体可能是在Linux上使用x86_64 CPU上的编译器,该CPU在Linux机器上运行但为嵌入式硬件芯片生成代码。然后,您可以从Linux机器的CPU功率中受益,同时部署到一个更小,功能更弱的系统,该系统可能没有自己的o / s,或者只有最小的o / s。