arm-linux-gcc 和 arm-none-linux-gnueabi 有什么区别
问题描述:
arm-linux-gcc 和 arm-none-linux-gnueabi 和 arm-linux-gnueabi 有什么区别工具链?
What is the difference between arm-linux-gcc and arm-none-linux-gnueabi and arm-linux-gnueabi toolchains?
它们的编译方式不同吗?
Do they compile differently?
答
工具链有一个松散的命名约定,如 arch[-vendor][-os]-abi
.
Toolchains have a loose name convention like arch[-vendor][-os]-abi
.
-
arch
用于架构:arm、mips、x86、i686... -
vendor
是工具链供应商:apple, -
os
适用于操作系统:linux,none(裸机) -
abi
是应用程序二进制接口约定:eabi、gnueabi、gnueabihf
-
arch
is for architecture: arm, mips, x86, i686... -
vendor
is tool chain supplier: apple, -
os
is for operating system: linux, none (bare metal) -
abi
is for application binary interface convention: eabi, gnueabi, gnueabihf
对于您的问题,arm-none-linux-gnueabi
和 arm-linux-gnueabi
是一回事.arm-linux-gcc
实际上是 gcc 的二进制文件,它使用工具链提供的默认配置 (abi) 在 Linux 上生成 ARM 架构的对象.
For your question, arm-none-linux-gnueabi
and arm-linux-gnueabi
is same thing. arm-linux-gcc
is actually binary for gcc which produces objects for ARM architecture to be run on Linux with default configuration (abi) provided by toolchain.
一些不错的阅读:工具链一>.