2012-12-10 132 views

回答

69

工具链有一个松散的名称约定,如arch[-vendor][-os]-abi

  • arch是架构:手臂MIPS,,i686的 ...
  • vendor是工具链的供应商:苹果
  • os是操作系统:linux,(裸机)
  • abi是应用程序二进制接口约定:EABIgnueabignueabihf

对于你的问题,arm-none-linux-gnueabiarm-linux-gnueabi是同样的事情。 arm-linux-gcc实际上是gcc的二进制文件,它生成ARM体系结构的对象,并在工具链中提供缺省配置(abi)的情况下在Linux上运行。

一些不错的阅读:Toolchains

+4

这个*可能*为真,但确实没有足够的信息为了确定。你需要知道工具链的出处。然而,非“gnueabi”工具链可能非常罕见。 – ams

+0

你在说arm-linux-gcc吗?或者你能澄清? – auselen

+0

值得指出的是,工具链配置了默认标题和库搜索路径。在交叉编译时,这些应该指向目标映像而不是开发机器自己的头文件和库。 因此,你可以很容易地得到一个编译器,它将其规范报告为'arm-none-linux-gnueabi',它实际编译时结果稍有不同。 您可以使用 'gcc -print-sysroot' – marko