Cross Compiler 是一種編譯器,可讓開發人員在一種架構上開發軟體並在不同的架構上執行。通常在開發應用程式時,開發人員會使用編譯器將原始碼轉換為可執行的機器碼,而這些編譯器只能在特定的平台上運行。

然而,當需要將應用程式移植到其他平台時,就需要使用 Cross Compiler 來進行編譯。Cross Compiler 可以在開發人員的開發平台上運行,但可以生成在目標平台上運行的機器碼。

舉例來說,假設開發人員在 x86 架構上開發了一個應用程式,但想要在 ARM 架構上執行該應用程式。因為這兩個架構有不同的指令集,所以需要使用 ARM 架構上的 Cross Compiler 來編譯該應用程式,生成可以在 ARM 架構上運行的機器碼。

Cross Compiler 在嵌入式系統和跨平台應用程式開發中非常常見。



wiki:Cross compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are generally found in use to generate compiles for embedded system or multiple platforms. It is a tool that one must use for a platform where it is inconvenient or impossible to compile on that platform, like microcontrollers that run with a minimal amount of memory for their own purpose. It has become more common to use this tool for paravirtualization where a system may have one or more platforms in use.


--

Building a cross compiler manually

1. Build binary utilities
2. Build bootstrap compiler without glibc
3. Build C library
4. Rebuild compiler with glibc


--

例如為了讓一般的C/C++的程式可以在不同的機器平台上執行,
所以需要cross compiler將C/C++程式編譯成不同格式的執行檔。

而要如何安裝可以參考

安裝cross compiler (toolchain)

以及

網友maxkerr寫的

Ubuntu - 建立 ARM Toolchain (Cross Compiler)

arrow
arrow

    tttt 發表在 痞客邦 留言(0) 人氣()