ホームページ >よくある問題 >高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには何が必要ですか?

高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには何が必要ですか?

王林
王林オリジナル
2021-01-12 14:41:2631391ブラウズ

高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには、コンパイルとリンクが必要です。高級プログラミング言語は、コンピューター命令システムと機械語ランダムマシンのさまざまな制約を取り除き、ソースプログラムをCPUが認識できるターゲットコードに変換できます。

高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには何が必要ですか?

#この記事の動作環境: Windows10 システム、Thinkpad t480 コンピューター。

高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには、コンパイルとリンクが必要です。

ユーザーが作成したソースプログラムはコンパイルされてターゲットプログラムになりますが、このプログラムはまだ実行できません。プログラム内で使用する標準関数サブルーチンや入出力サブルーチンがまだリンクされていないためです。したがって、独立した実行可能なプログラムになるように接続してアセンブルする必要があります。

高級プログラミング言語の概要

高級プログラミング言語は、「アルゴリズム言語」とも呼ばれ、「高級言語」とも呼ばれます。書きやすく理解しやすい形式言語でプログラムを作成するためのプログラミング言語。コンピュータ命令システムと機械語ランダムマシンのさまざまな制約を取り除き、対応するコンパイラ(または「コンパイラ」)を設計して、さまざまなマシンに適した高級言語で書かれたソースプログラムを認識できるものに変換します。中央プロセッサによるターゲットコード。

計算処理を記述するための基本仕様により、手続き型言語(FORTRAN言語、PASCAL言語、Ada言語など)、関数型言語(LISP言語など)に分けられます。 )、論理言語(PROLOG言語など)、オブジェクト指向言語(以前の言語にオブジェクト指向言語をサポートするためのいくつかの記述メカニズムを追加して構成された言語)。

インタプリタは高級言語翻訳プログラムの一種で、ソース言語で書かれたソースプログラムを入力として受け取り、それを機械が認識できるバイナリコードに解釈し、文を解釈した後、送信します。実行のためにコンピュータに送信されますが、ターゲット プログラムを形成するものではありません。

編集とはソースプログラムを書くことです。コンパイルとは、高級言語のソース プログラムを入力として受け取り、翻訳と変換を行って機械語のターゲット プログラムを生成し、コンピュータにターゲット プログラムを実行させることを指します。

ソース プログラムを実行可能プログラムに変換する

プログラムを実行するには、前処理、コンパイル、アセンブリ、リンクという 4 つの手順を実行する必要があります。

1. 前処理: さまざまなファイルに保存されているソース プログラム (.c ファイル) を集約し、前処理ディレクティブ #include などの言語内のマクロを置き換えて、コンパイラーがインクルードされたファイルを開けられるようにします。プログラムを他のプログラムと一緒に実行し、.i ファイルを生成します。

2. コンパイル: ソース プログラム (.i ファイル) をアセンブラ (.s ファイル) に前処理します。

3. アセンブリ (アセンブラ): アセンブラをリロケータブル (リロケータブル、つまりマシン) に変換します。コード セグメントのコードとファイル内のデータ アドレスはまだ完成していません) このステップでは、ターゲット ファイル (.obj または .o ファイル) を生成します。

4. リンカー/ローダー: リンクとは、ターゲット ファイルを、個別にコンパイルおよび生成された他のプログラム モジュール (存在する場合) およびシステムによって提供される標準ライブラリ関数と接続して、ランナブルを作成するプロセスを生成することです。実行可能ファイルは、ロード中にメモリ内の適切な場所に各コードとデータを配置します。このステップにより、最終的な実行可能ファイルが生成されます。

高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには何が必要ですか?

拡張知識:

  • ソース プログラム:

    ソース プログラムはコンパイルされていないものを指します特定のプログラミング言語仕様に従って記述されたテキスト ファイルは、人間が判読できる一連のコンピューター言語命令です。

    ソース プログラムをコンピュータ上で直接実行することはできません。ソース プログラムをバイナリ形式のコードにコンパイルするには、「コンパイラ」を使用する必要があります。

  • ターゲットプログラム:

    ソースプログラムを「コンパイラ」でコンパイルして得られるバイナリコードをターゲットプログラムといいます

    ターゲットプログラムとはコンピュータで直接実行できるマシン コードのコレクションをコンパイルし、コンピュータ ファイルの拡張子として .obj を使用します。

  • #実行可能プログラム

    実行可能プログラム:すべてコンパイル 取得したターゲットモジュールを接続してアセンブルし、関数ライブラリと接続して全体を形成し、コンピュータで実行可能なターゲットプログラムを生成し、実行可能プログラムとなります。

    実行可能プログラムとは、簡単に言うと、ターゲットプログラムとライブラリ関数を接続することで、オペレーティングシステム上で独立して実行できる完全なプログラムです。

    実行可能プログラムの拡張子は「. exe」(dos/windows環境)。

(学習ビデオの共有: プログラミング ビデオ)

以上が高級プログラミング言語で書かれたプログラムを同等の実行可能プログラムに変換するには何が必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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