往往我们在交叉编译的时候会用到不同版本,不同命名方式的交叉编译器。

那么究竟应该怎么区分使用呢,一种方法是从命名上区分。

网上找来两张图先来看一下:

如何看交叉编译器类型

 

区分类别包括:大端 or 小端、ARMv7 or ARMv8、32位 or 64位、裸机 or 嵌入式Linux、什么linux平台。

一个交叉编译器我们可以说编译器的-gcc是多少位的,编译出来的目标程序是多少位的。
通过file xxxx-gcc可以查看gcc是多少位的,file obj可以查看编译出的目标程序是多少位的。
或者根据交叉编译器的命名判断,例如
i686_aarch64-linux-gnu:表示gcc是32位,目标程序是64位
X86-64_aarch64-linux-gnu:表示gcc是64位,目标程序是64位
X86-64_arm-linux-gnueabi:表示gcc是64位,目标程序用file查看,是32位。

具体怎么选用?

开发机是多少位的,就下载对应的编译器就行,不然开发机是32位的,下载X86_64的编译器,GCC就无法执行,因为GCC是64位的可执行程序。

一般情况下,64位的虚拟机可以使用32位的gcc。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2023-02-08
  • 2022-12-23
  • 2021-06-29
  • 2022-01-11
  • 2021-08-25
猜你喜欢
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-06-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案