|
發表於 2015-5-4 01:13:21
|
顯示全部樓層
資訊來源:
http://ryan0988.pixnet.net/blog/post/166022613-cross-compile
GCC configure : --build
--host --target
從知道 Cross Compile
這個名詞以來,就看過這三個參數不知道幾次了,但除了剛開始時有想過這個問題之外,後來就沒仔細了解。這個問題是,這三個參數到底是有什麼差別?以自己的經驗,使用最多也只會的是
--host 這個參數(當要對某個程式做 cross compile
時用的),其他我還真的不了解怎麼用!今天總算對它們比較了解!
首先,根據不同的組合,它們有不同的名稱:
Native compiler: --build, --host, --target 都一樣
例:--build=x86 --host=x86 --target=x86
Cross compiler: --build 和 --host 一樣但 --target 不同
例:--build=SH --host=SH --target=ARM
Crossback compiler:
--build 和 --target 一樣但 --host 不同
例:--build=x86 --host=MIPS --target=x86
Crossed native
compiler: --host 和 --target 一樣但 --build 不同
例:--build=PPC --host=SPARC --target=SPARC
Canadian compiler:
--build, --host, --target 都不一樣
例:--build=ARM --host=SH --target=MIPS
接著是它們的意義,我們要先知道 build, host 和 target 是什麼意思?
build 指的是你用來建構 GCC 的系統,
host 是要用來執行編譯器的系統,target 是你想讓編譯器產生程式碼的系統。
再來看看上面的例子:
--build=x86 --host=x86 --target=x86
表示在 x86上建構與執行,為 x86 產生執行檔
--build=SH --host=SH --target=ARM
表示在 SuperH 上建構與執行,為 ARM 產生執行檔
--build=x86 --host=MIPS --target=x86
表示在 x86系統上建構gcc compiler,在 MIPS上執行gcc compiler, 為 x86產生執行檔(Binary Program)
--build=PPC --host=SPARC --target=SPARC
表示在 PPC系統上建構gcc compiler,在SPARC上執行gcc compiler,為 SPARC 產生執行檔(Binary Program)
--build=ARM --host=SH --target=MIPS
表示在 ARM系統上建構gcc compiler,在SuperH上執行gcc compiler,為 MIPS 產生執行檔(Binary Program)
|
評分
-
1
查看全部評分
-
|