溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)交叉編譯的具體方法是什么

發(fā)布時(shí)間:2022-01-26 17:18:51 來源:億速云 閱讀:130 作者:柒染 欄目:開發(fā)技術(shù)

Linux系統(tǒng)交叉編譯的具體方法是什么,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

所謂的交叉編譯就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼,在不同的操作系統(tǒng)運(yùn)行同一個(gè)體系結(jié)構(gòu)。

1、交叉編譯工具鏈編譯規(guī)則 arch-vendor[-(gnu)eabi]

字段解釋:

arch:體系架構(gòu),如ARM、MIPS

vendor:工具鏈提供商

os:目標(biāo)操作系統(tǒng)

eabi:嵌入式應(yīng)用二進(jìn)制接口(Embedded Application Binary Interface)

根據(jù)對(duì)操作系統(tǒng)的支持與否,ARM GCC可分為支持與不支持操作系統(tǒng),如:

arm-none-eabi:這個(gè)是沒有操作系統(tǒng)的

arm-none-linux-eabi:用于linux的,使用glibc

arm-none-eabi-gcc:用于編譯ARM架構(gòu)的裸機(jī)系統(tǒng)

arm-none-linux-gnueabi-gcc:用于編譯基于ARM架構(gòu)的linux系統(tǒng)

2、ABI&EABI ABI:二進(jìn)制應(yīng)用程序接口(Application Binary Interface),在計(jì)算機(jī)中,應(yīng)用二進(jìn)制接口描述了應(yīng)用程序和操作系統(tǒng)之間或其它應(yīng)用程序的低級(jí)接口

EABI:嵌入式ABI,嵌入式應(yīng)用二進(jìn)制接口指定了文件格式、數(shù)據(jù)類型、寄存器使用、堆積組織優(yōu)化和在一個(gè)嵌入式軟件中的參數(shù)的標(biāo)準(zhǔn)約定。開發(fā)者使用自己的匯編語(yǔ)言也可以使用EABI

         作為與兼容的編譯器生成的匯編語(yǔ)言的接口。

二者區(qū)別:ABI是計(jì)算機(jī)上的,EABI是嵌入式平臺(tái)上。

3、glibc glibc是GNU發(fā)布的libc庫(kù),即c運(yùn)行庫(kù)。glibc是linux系統(tǒng)中最底層的api,是一種C函數(shù)庫(kù),是程序運(yùn)行時(shí)使用到的一些API集合,一般是已預(yù)先編譯好,以二進(jìn)制代碼形式存在linux類系統(tǒng)中,

GNU C運(yùn)行期庫(kù)通常作為GNU C編譯程序的一個(gè)部分發(fā)布。

關(guān)于Linux系統(tǒng)交叉編譯的具體方法是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI