ブートストラップとクロスコンパイルの違いは何ですか?


答え 1:

ブートストラップは、コンパイラに関して言えば、コンパイルしようとしている言語の言語用のコンパイラを作成しています。

たとえば、Cソースからアセンブリを生成するには、コンパイラが必要です。低レベルのアセンブリでコンパイラを完全に記述するのは難しいため、アセンブリを使用してコンパイラの小さなサブセットを記述します。後で、この小さなサブセットを使用して最終的なコンパイラをコンパイルします。したがって、Cソースからアセンブリを生成するには、Cで記述されたコンパイラを使用します。そのため、自分で足で自分を持ち上げるようなもので、ブートストラップになります。

一方、クロスコンパイルは、ソフトウェアまたはハードウェアアーキテクチャを備えたホストで実行中に、異なるターゲットのマシンコードを生成するコンパイルプロセスです。典型的な例は、Linuxを実行しているPCでARM実行可能ファイルをコンパイルすることです。


答え 2:

クロスコンパイラは、コンパイラが実行されているプラ​​ットフォーム以外のプラットフォーム用の実行可能コードを作成できます。たとえば、Windowsで実行されるがAndroidで実行されるコードを生成するコンパイラーはクロスコンパイラーです。ブートストラップは、ソースプログラムでコンパイラを作成するプロセスです。

ソース:gateoverflow.in


答え 3:

クロスコンパイラは、コンパイラが実行されているプラ​​ットフォーム以外のプラットフォーム用の実行可能コードを作成できるコンパイラです。たとえば、Windowsで実行されるが、Androidで実行されるコードを生成するコンパイラはクロスコンパイラです。ブートストラップは、ソースプログラムでコンパイラを記述するプロセスです。


答え 4:

クロスコンパイラは、コンパイラが実行されているプラ​​ットフォーム以外のプラットフォーム用の実行可能コードを作成できるコンパイラです。たとえば、Windowsで実行されるが、Androidで実行されるコードを生成するコンパイラはクロスコンパイラです。ブートストラップは、ソースプログラムでコンパイラを記述するプロセスです。