2017-12-28 6 views
-2

コンパイラとインタプリタの2つの実行方法の違いについてです。コンパイラは実行可能コード(0と1のシーケンス)を変換できると言われています。実行可能ファイルが生成されると、任意のコンピュータ上で直接実行することができます。ソースファイルをあるステージから別のステージに移送する場合、同じインタプリタをインストールする必要があるという点で、コンパイラの移植性はインタプリタよりも優れていると言われています。しかし、私が理解していないことは、通訳者が機械で理解できるコードを生成し、解釈のある段階で普遍的な0と1が生成されていなければならないということです。これらのバイナリコードを繰り返し解釈する必要がないように、それらのバイナリコードを保存するだけの理由はありませんか?Interpreterはどの段階でマシンコードを生成しますか?

+0

は、あなたがどこからの引用を理解していないフレーズですか?あなたはどんな資料を参照していますか?単純にゼロになる理由とコンピュータに何をするべきかを伝えない理由について、[バイナリファイルに関するWikipedia Entry(バイナリファイルのエントリ)](https://en.m.wikipedia.org/wiki/Binary_file)がより明確になるかもしれません。 –

+0

インタープリタがマシンコードを生成しない場合、コンピュータは私たちの指示をどのように理解していますか? – Jane

+0

おそらく、これは役に立ちます:https://en.wikipedia.org/wiki/Interpreter_(computing) –

答えて

1

インタープリターはマシンコードを生成しません。それはマシンコードに変換の段階を渡すことによって。 python.exeファイルは、ソースコードを理解しています。したがって、0と1は必要ありません。

1

「なぜこれらのバイナリコードを繰り返し保存する必要がないのですか?」

PythonはPyPyもあるpyc files

を経由して、これらの線に沿って何かを行います。

JIT Python compiler

関連する問題