web-dev-qa-db-ja.com

Cross GCCとLinux GCCツールチェーンの違い

Eclipseで新しいC++プロジェクトを作成しているときに、ツールチェーンについて質問されます。

これらのツールチェーンの実際的な違いは何ですか-Cross GCCおよびLinux GCC。どのような状況でそれらを使用しますか?プロジェクトがLinuxマシンとWindowsマシンの両方でコンパイルされるかどうかに関係がありますか?

答えの1つ では、次のように読むことができます。

一般に、クロスコンパイラーは、ユーザーのシステムとは異なる種類のシステム用のコードを生成するコンパイラーです。

自分のメイクファイルを使用してターゲットマシンでプロジェクトをコンパイルする場合、ここでどのオプションを選択してもかまいません。

25
Wiktor

クロスコンパイラ ウィキペディアの記事は非常に優れています。一般に、クロスコンパイラーは、ユーザーのシステムとは異なる種類のシステム用のコードを生成するコンパイラーです。通常、これは別のターゲットハードウェアアーキテクチャを意味しますが、別のターゲットオペレーティングシステム(またはその両方)を意味することもあります。

理論的には、これらを組み合わせて、アーキテクチャAでクロスコンパイラを使用できます。1 およびオペレーティングシステムS1 アーキテクチャAで実行されるクロスコンパイラを構築する2 オペレーティングシステムS2 オペレーティングシステムSのコードを生成します アーキテクチャA

Ulrichがコメントで述べているように、Linux GCCは「ネイティブ」コンパイラー(つまり、同じターゲット)である必要があります。

16
peterph