0

コンパイラーが高水準言語を取り、それをすべて機械語に変換し (または最初にアセンブリ言語で、次に機械語ですか?)、CPU に送信し、実際にそれを実行して表示するのは CPU の仕事であることを私は知っています。出力/何でもします。

インタープリターの場合、それは高レベルプログラムの最初の行を何かに変換し(これは何ですか?それはマシンレベル言語ですか?)、次に何かが実行されて実行されます(実行され、インタープリターまたはによって実行されます)。 CPU ?)。その後、次のコード行に進みます。

つまり、インタープリターの場合の CPU の役割について少し混乱しています。

4

2 に答える 2

0

これは本当に賢明な質問です。答えは、灰色の色合いです。それはすべて、ランタイム環境がインタープリターにどの程度組み込まれているかによって異なります。ランタイムは変数の状態などを保存する必要がありますが、プログラムの行をマシンコードに変換して実行することをお勧めします。一方、実行されるコードに高レベルの内部表現を使用し、それを実行するプロセスを呼び出す場合があります。たとえば、Python と Ruby は、ランタイムに渡される独自の内部コード表現を生成します。Java はコンパイラですが、プログラム全体をバイトコードに変換し、ランタイムによって実行されます。したがって、単純な白黒の答えはありませんが、何が起こっているのかを理解するのに役立つ正しい質問です.

于 2013-08-08T16:34:17.973 に答える