交叉編譯 本地編譯的區別

2021-09-23 08:00:06 字數 444 閱讀 1089

1.1 什麼是交叉編譯

對於沒有做過嵌入式程式設計的人,可能不太理解交叉編譯的概念,那麼什麼是交叉編譯?它有什麼作用?

在解釋什麼是交叉編譯之前,先要明白什麼是本地編譯。

本地編譯

本地編譯可以理解為,在當前編譯平台下,編譯出來的程式只能放到當前平台下執行。平時我們常見的軟體開發,都是屬於本地編譯:

比如,我們在 x86 平台上,編寫程式並編譯成可執行程式。這種方式下,我們使用 x86 平台上的工具,開發針對 x86 平台本身的可執行程式,這個編譯過程稱為本地編譯。

交叉編譯

交叉編譯可以理解為,在當前編譯平台下,編譯出來的程式能執行在體系結構不同的另一種目標平台上,但是編譯平台本身卻不能執行該程式:

比如,我們在 x86 平台上,編寫程式並編譯成能執行在 arm 平台的程式,編譯得到的程式在 x86 平台上是不能執行的,必須放到 arm 平台上才能執行。

buildroot 使用本地交叉編譯器編譯

注 linux核心 和 檔案系統要用統一的交叉編譯器。編譯鏈在設定中有多種選擇 1.自動生成 2.本地編譯鏈 下面為buildroot配置使用你安裝的本地交叉編譯器make menuconfig target options target architecture arm big endian ta...

編譯 交叉編譯

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

交叉編譯 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 ...