交叉编译链名字含义概述

我们使用交叉编译链时,常常会看到这样的名字:

  arm-none-linux-gnueabi-gcc

  arm-cortex_a8-linux-gnueabi-gcc

  mips-malta-linux-gnu-gcc

其中,对应的前缀为:

  arm-none-linux-gnueabi-

  arm-cortex_a8-linux-gnueabi-

  mips-malta-linux-gnu-

这些交叉编译链的命名规则似乎是通用的,有一定的规则:

  arch-core-kernel-system

  arch: 用于哪个目标平台。
  core: 使用的是哪个CPU Core,如Cortex A8,但是这一组命名好像比较灵活,在其它厂家提供的交叉编译链中,有以厂家名称命名的,也有以开发板命名的,或者直接是none或cross的。
  kernel: 所运行的OS,见过的有Linux,uclinux,bare(无OS)。
  system :交叉编译链所选择的库函数和目标映像的规范,如gnu,gnueabi等。其中gnu等价于glibc+oabi;gnueabi等价于glibc+eabi。

注意:这个规则是一个猜测,并没有在哪份官方资料上看到过。而且有些编译链的命名确实没有按照这个规则,也不清楚这是不是历史原因造成的。如果有谁在资料上见到过此规则的详细描述,欢迎指出错误。

posted @ 2023-01-06 09:54  白菜没我白  阅读(61)  评论(0编辑  收藏  举报