\r\n\r\n

コンパイラと通訳者の違い

コンパイラと解釈器は、コンパイラがソースコードを実行可能なマシンコードにコンパイルし、解釈器が各命令を解釈して実行し、マシン/ターゲットコードを生成しない点で、高度な言語プログラムを翻訳します。コンパイラの仕事は使い捨てで、プログラムがコンパイルされると。後で実行するために保存できますが、プログラムが実行されるたびに解釈する必要があります。コンパイラの場合はターゲットコードを生成し、解釈器ではターゲットコードを生成しない。中間コードのみを生成します。コンパイラは基本的にプログラムを処理するが,解釈器は命令に従ってプログラムを処理する.コンパイラでは、プログラムの実行速度が速く、

主な差異

コンパイラと解釈器は、コンパイラがソースコードを実行可能なマシンコードにコンパイルし、解釈器が各命令を解釈して実行し、マシン/ターゲットコードを生成しない点で、高度な言語プログラムを翻訳します。コンパイラの仕事は使い捨てで、プログラムがコンパイルされると。後で実行するために保存できますが、プログラムが実行されるたびに解釈する必要があります。コンパイラの場合はターゲットコードを生成し、解釈器ではターゲットコードを生成しない。中間コードのみを生成します。コンパイラは基本的にプログラムを処理するが,解釈器は命令に従ってプログラムを処理する.コンパイラでは、プログラムの実行速度が速く、解釈では文ごとの解釈と実行に時間がかかるため、遅くなります。コンパイラでは、デバッグプロセスは解釈器でデバッグするよりもずっと困難です。コンパイラは、実行時にソースコードを必要としませんが、解釈器の場合は、プログラムを実行するために完全なソースファイルが必要です。コンパイラは、生成されたマシンコードがかなり大きいため、より多くのメモリが必要ですが、解釈器には追加のメモリは必要ありません。コンパイラでは、プログラム内のエラーは完全なソースコードを分析した後に表示されますが、解釈器では、解釈の行ごとにエラーが表示されます。コンパイラの場合、コンパイルされたコードはコンピュータハードウェアによって実行され、解釈器では、中間コードは別のプログラムによって処理されます。プログラミングシーンでは、コンパイラはプログラムの構文をチェックしますが、解釈器はプログラムのキーワードを検証します。コンパイラには、実行時にコードを変更できるコード最適化の範囲があります。この2つの方法は、プログラマーがよく使用しているもので、独自の規範と利点があります。

比較図

ターゲット翻訳コンパイラ
入力解釈器は単一の命令を入力とする。コンパイラはプログラム全体を入力します。
ターゲットコードインタプリタでは中間ターゲットコードは生成されません。中間ターゲットコードはコンパイラで生成されます
せいぎょぶん解釈器では条件制御文の実行が遅い。条件制御文はコンパイラで迅速に実行されます
へんかん上級プログラムは毎回低レベルプログラムに変換されます。プログラムは毎回コンパイラでコンパイルする必要はありません。

コンパイラ定義

コンパイラは、ある高度な言語で作成されたソースコードをコンピュータが理解できるマシンコードに処理する専門的なプログラムです。このマシンコードは実際にはバイナリ言語で記述されており,プロセッサはそれを理解して実行することができる。ソースコードを記述するために、プログラマはC言語、C++言語、またはPascal言語を使用してプログラムを記述し、いくつかのプログラミングエディタを使用します。次に、ソースコードを記述するのに適した言語のコンパイラを使用してプログラムを実行します。コンパイラの入力は完全なプログラムです。まず分析し、処理します。入力されたソースコードに対して、文法や文法分析を含む多くの分析を実行します。この2つのステップを完了した後、コンパイラの最終的なタスクはマシンコードを生成することです。このコンパイルの出力はターゲットコードであり、実行可能です。プログラムは一度だけコンパイルされ、プログラムが実行されるたびにコンパイルする必要はありません。

通訳の定義

解釈器は,ある高度な言語で記述されたプログラムソースコードに対して逐条文(逐行)翻訳を実行するプログラムである.解釈器は、プログラムが与えられたときに、その行を受け入れ、解釈し、実行します。解釈器は、ソースコードを解釈した後に中間コードを生成し、実行する。コンパイルフェーズもマシンコードも生成されていません。これが、解釈器がプログラム全体を行ごとに翻訳し、実行する方法です。コマンドごとに直ちに実行する必要がある場合は、これが優先です。特にコードテストが完了した後に役立ちます。プログラムが実行されるたびに、解釈器は同じように解釈されます。

一言で言えば

  1. コンパイラはプログラム全体を処理する。解釈器はコードを行ごとに解釈する。
  2. コンパイラはバイナリマシンコードを生成する。インタプリタは中間コードを生成します。
  3. コンパイラのマシンコードはコンパイル後に保存して再利用することができ、解釈器は毎回ソースコードを解釈しなければならない。
  4. コンパイラはコード構文の有効性をチェックします。解釈プログラムはキーワードをチェックします。
  5. コンパイラでは、プログラムの実行速度が速い。解釈器では、プログラムの実行速度が遅い。
  6. コンパイラでのデバッグは複雑です。インタプリタでのデバッグは簡単です。
  7. コンパイラは完全なソースコードをチェックした後にエラーを表示します。解釈器は、各命令のエラーを指定した順序でコード形式で表示します。
  8. コンパイラのマシンコードはハードウェアによってさらに処理され、解釈器の中間コードは別の専門的なプログラムによって処理される。
  9. コンパイラは実行時にソースファイルを必要としません。解釈器は、実行時に実行するときにソースファイルが必要です。
  10. コンパイラでは、プログラムの実行はコンパイルフェーズの後に完了し、解釈器はコンパイルを行わずにプログラムを直接実行します。
  11. コンパイラはより多くのメモリを使用します。インタプリタにはより少ないメモリが必要です。

結論

コンピュータアーキテクチャとそれに関連する用語の理解は、上記の2つの用語が類似しており、それらの間には様々な違いがあるが、常に互いに類似しているように見える面倒なタスクである可能性がある。そこで,本稿ではそれらの違いを説明し,明確な認識を確立するのに役立つことを試みた。

  • 2020-05-19 00:18 に公開
  • 閲覧 ( 17 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ