交叉編譯環境

交叉編譯環境

交叉編譯(cross-compilation)是指,在某個主機平台上(比如PC上)用交叉編譯器編譯出可在其他平台上(比如ARM上)運行的代碼的過程。

基本介紹

  • 中文名:交叉編譯
  • 外文名:cross-compilation
定義,案例,

定義

交叉編譯這個概念的出現和流行是和嵌入式系統的廣泛發展同步的。我們常用的計算機軟體,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼(比如 C代碼)編譯(compile)成計算機可以識別和執行的二進制代碼

案例

比如,我們在 Windows 平台上,可使用 Visual C++ 開發環境,編寫程式並編譯成可執行程式。這種方式下,我們使用 PC 平台上的 Windows 工具開發針對 Windows 本身的可執行程式,這種編譯過程稱為 native compilation,中文可理解為本機編譯。然而,在進行嵌入式系統的開發時,則不能直接編譯。原因有倆:一、運行程式的目標平台通常具有有限的存儲空間和運算能力,比如常見的 ARM 平台,其一般的靜態存儲空間大概是 16 到 32 MB,而 CPU 的主頻大概在 100MHz 到 500MHz 之間。這種情況下,在 ARM 平台上進行本機編譯就不太可能了,這是因為一般的編譯工具鏈(compilation tool chain)需要很大的存儲空間,並需要很強的 CPU 運算能力。為了解決這個問題,交叉編譯工具就應運而生了。通過交叉編譯工具,我們就可以在 CPU 能力很強、存儲空間足夠的主機平台上(比如 PC 上)編譯出針對其他平台的可執行程式。二、宿主機與目標機的運行環境並不相同,所以必須要提供不同的類庫,使得宿主機上開發的代碼能在目標機上運行。

相關詞條

熱門詞條

聯絡我們