arm linux elf eabi交叉編譯器

2021-06-05 18:31:23 字數 429 閱讀 5146

原文:

arm的交叉編譯器有三種型別(命名方式):arm-linux-, arm-elf-, arm-eabi

arm-linux一般用於編譯linux程式,使用glibc庫,arm-linux-elf用於編譯uclinux或其他程式,使用嵌入式庫,如uclib或newlib等。

arm-eabi是符合eabi規範的交叉編譯器。關於eabi,可以參考另一篇博文。簡單的說,eabi定義了一系列規範,如過程呼叫規範aacp,系統呼叫規範等。

arm-eabi可以使用各種不同的lib。

arm-eabi相比較前兩者,最大的特點是,它支援fpa(floating pointer accelrator),可以有效的提高浮點運算速度。但是對於沒有fpa單元的硬體,使用arm-eabi編譯的程式執行會更慢,因為對fpa的指令會產生未知指令的異常。

另外還可以參考:

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

交叉編譯 Go 交叉編譯 跨平台編譯

golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...