ホームページ  >  記事  >  高級言語で書かれたプログラムを機械語プログラムに翻訳するにはどのような翻訳方法が使用されますか?

高級言語で書かれたプログラムを機械語プログラムに翻訳するにはどのような翻訳方法が使用されますか?

青灯夜游
青灯夜游オリジナル
2021-03-25 17:40:1156833ブラウズ

高級言語で書かれたプログラムを機械語プログラムに翻訳するには、コンパイルとインタープリタという 2 つの翻訳方法を使用できます。解釈モードは、ソースプログラムを一文ずつ解釈して実行する、つまり一文を解釈して実行するモードであり、対象ファイルは生成されません。コンパイル方法は、最初にソース プログラム全体を機械語プログラムに変換し、次に実行可能プログラムを生成し、通常はターゲット プログラムになります。

高級言語で書かれたプログラムを機械語プログラムに翻訳するにはどのような翻訳方法が使用されますか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

高級言語で書かれたプログラムを機械語プログラムに翻訳するには、コンパイルとインタープリタという 2 つの翻訳方法を使用できます。

  • 解釈モードはソースプログラムを一文ずつ解釈して実行する、つまり一文を解釈して実行するモードですので、解釈モードでは対象ファイルは生成されません。 。たとえば、初期の BASIC 言語では「解釈」方法が使用されていました。

  • コンパイル方法は、高級言語で書かれたソースプログラム全体を機械語プログラムに翻訳し、オペレーティングシステム直下で実行可能な実行プログラムを生成します。通常、ターゲット プログラムが生成されます。

#コンパイルと解釈の違い

コンパイルはソース プログラムを実行可能なターゲット コードに変換することであり、翻訳と実行は別のものです。保存可能なオブジェクト コードを生成せずに、ソース プログラムを 1 回だけ変換して実行します。これは単なる見た目であり、両者の最大の違いは、解釈と実行については、プログラム実行時の制御はユーザープログラムではなくインタプリタ側にあり、コンパイルと実行については、実行時の制御はユーザープログラムにあることです。 。

解釈は、優れた動的特性と移植性を備えています。たとえば、解釈の実行時に、変数の型を動的に変更したり、プログラムを修正したり、適切なデバッグ診断情報をプログラムに挿入したりできます。インタプリタを別のシステムに移植すると、移植したインタプリタを搭載したシステム上でプログラムをそのまま実行することができます。同時に、インタプリタには、ユーザープログラムにスペースを割り当てる必要があるだけでなく、インタプリタ自体も貴重なシステムリソースを占有するため、実行効率が低く、占有スペースが大きいなどの大きな欠点もあります。

コンパイラはソース プログラムの各ステートメントを機械語にコンパイルし、バイナリ ファイルに保存します。これにより、コンピュータは実行時にプログラムを直接機械語で実行できるため、非常に高速になります。

インタプリタはプログラムを 1 つずつコンピュータが実行できるように機械語に解釈するだけなので、実行速度はコンパイルされたプログラムほど速くありません。

その他のプログラミング関連の知識については、次のサイトを参照してください。

プログラミングビデオ! !

以上が高級言語で書かれたプログラムを機械語プログラムに翻訳するにはどのような翻訳方法が使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。