2011-08-17 23 views
7

ビルドが知っている3人のシステム名があります:あなたは(ビルド)で構築している マシン、あなたは(ホスト)のために 構築しているマシン、およびGCCは(ターゲットの コードを生成するマシン)。 GCCを設定するときには、 '--build ='、 '--host ='、 '--target ='を指定して と指定します。gccの--hostと--targetの違いは何ですか?

the machine that you are building forthe machine that GCC will produce code forは同じものですか?違いは何ですか?

+0

['/ configure'オプション' --build'、 '--host'と' --target'の違いは何ですか?]](http://stackoverflow.com/questions/5139403/whats設定の差異 - オプション - ビルドホストとターゲット) –

答えて

8

それはクロスコンパイラとしてgccのを構築することが可能です。つまり、1つのアーキテクチャ(ホスト)で動作するgccを構築できますが、別のアーキテクチャ(ターゲット)用のコードを生成することができます。

これは、組込みプラットフォーム用のコードを作成する際によく見かけるものです。あなたの冷蔵庫にプロセッサ用のコードを書いているなら、あなたは冷蔵庫ではなく、あなたのデスクトップにそれを構築したいと思うだろう!

一部の人々は、クロスアーキテクチャを使用して、同じアーキテクチャ上の異なるOS用のコードを作成しています。たとえば、MinGWツールチェーンを使用してLinuxホストからWindowsをターゲティングすることは可能です。

+1

このように、冷蔵庫の類推のために、ホストはデスクトップで、ターゲットは冷蔵庫ですか?私が間違っているとPlsは私を修正します – linvenuza

+0

はい、そうです。 – Ned

+0

eh ..この投稿には、間違った答えであると言いたいと思っています。もしgccを冷蔵庫のコンパイラとして準備しているのであれば、host = fridgeは適切でしょう。私は今7つの票があるので、今混乱している。 – infoclogged

関連する問題