看了一堆人亂解釋,這個說法比較讓人能理解。
原文
--Build machine:the machine builds cross toolchains
--Host machine:the machine cross toolchains will execute on
--Target machine:the machine cross toolchains will produce outputs for
中文意會~
build 指的是你用來建構 toolchain的系統
host 是要用來執行toolchain的系統
target 是你想讓編譯器產生程式碼執行的系統
一般我遇過的場景是,某個資深高手同事在他的電腦(NB 1)上把toochain build好,然後給其他同事在自己的電腦(NB n)上使用toolchain接一條ICE設備到開發板(board n)上debug。
build machine:NB 1
host machine:NB n
Target:board n
Native compiler: --build, --host, --target 都一樣
例:--build=x86 --host=x86 --target=x86
表示在 x86上建構與執行,為 x86 產生執行檔
Cross compiler: --build 和 --host 一樣但 --target 不同
例:--build=SH --host=SH --target=ARM
表示在 SuperH 上建構與執行,為 ARM 產生執行檔
Crossback compiler:--build 和 --target 一樣但 --host 不同
例:--build=x86 --host=MIPS --target=x86
表示在 x86系統上建構gcc compiler,在 MIPS上執行gcc compiler, 為 x86產生執行檔(Binary Program)
Crossed native compiler: --host 和 --target 一樣但 --build 不同
例:--build=PPC --host=SPARC --target=SPARC
表示在 PPC系統上建構gcc compiler,在SPARC上執行gcc compiler,為 SPARC 產生執行檔(Binary Program)
Canadian compiler: --build, --host, --target 都不一樣
例:--build=ARM --host=SH --target=MIPS
表示在 ARM系統上建構gcc compiler,在SuperH上執行gcc compiler,為 MIPS 產生執行檔(Binary Program)
https://stackoverflow.com/questions/5139403/whats-the-difference-of-configure-option-build-host-and-target
http://jingfenghanmax.blogspot.com/2010/09/configure-with-host-target-and-build.html
沒有留言:
張貼留言