如何看交叉編譯器類型

往往我們在交叉編譯的時候會用到不同版本,不同命名方式的交叉編譯器。

那麼究竟應該怎麼區分使用呢,一種方法是從命名上區分。

網上找來兩張圖先來看一下:

 

區分類別包括:大端 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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章