今天,Mayuyu來講一個比較重要的概念,即交叉編譯,主要分爲如下幾個方面來講述。
Contents
1. 什麼是交叉編譯 ?
2. 爲什麼要使用交叉編譯 ?
3. 交叉編譯工具鏈
1. 什麼是交叉編譯 ?
所謂交叉編譯,簡單地來說就是在一個平臺上編譯生成另一個平臺上的可執行代碼。注意這裏的平臺實際上
包含兩個概念,即體系結構和操作系統。同一個體系結構可以運行不同的操作系統,同時,同一個操作系統
也可以運行於不同體系結構。比如,我們常說的x86 Linux平臺實際上包含兩部分,即intel x86體系結構
和Linux for x86,是這兩者的統稱。
2. 爲什麼要使用交叉編譯 ?
那麼,爲什麼要使用交叉編譯呢 ? 那是因爲沒有辦法啊,不使用不行。有時候目的平臺上不能或者不允許
安裝我們所需要的編譯器,而我們又需要這個編譯器的某些特徵。比如在ARM平臺上進行嵌入式開發就是這樣。
可以說交叉編譯這個概念的出現和嵌入式系統的廣泛發展是同步的。在嵌入式目標平臺上,內存和運算能力都
是有限的,所以不得不使用交叉編譯了。
3. 交叉編譯工具鏈
交叉編譯工具鏈一般由編譯器、連接器、解釋器和調試器組成。就是爲了編譯、鏈接、處理和調試跨平臺體系
結構的程序代碼。每次執行工具鏈軟件時,通過帶有不同的參數,可以實現編譯、鏈接、處理或者調試等不同
的功能。從工具鏈的組成上來說,它一般由多個程序構成,分別對應着各個功能。