ソースプログラムとオブジェクトプログラムの違い

Anonim

ソースプログラムとオブジェクトプログラム

ソースプログラムとオブジェクトプログラムは、コンピュータプログラミングで見られる2種類のプログラムです。ソースプログラムは、典型的には、プログラマによって書かれた人間が読める機械命令を備えたプログラムである。オブジェクトプログラムは、通常、ソースプログラムをコンパイルして作成されたマシン実行可能プログラムです。

ソースプログラムとは?

ソースプログラムは、プログラマが通常高水準の言語を使用して作成したコードで、人間が容易に読むことができます。ソースプログラムには、通常、意味のある変数名と役立つコメントが含まれています。ソースプログラムをマシン上で直接実行することはできません。これを実行するために、ソースプログラムはコンパイラ(ソースプログラムを実行可能コードに変換するプログラム)を使用してコンパイルされます。あるいは、インタプリタ(プリコンパイルせずに1行ずつソースプログラムを実行するプログラム)を使用して、オンザフライでソースプログラムを実行することもできます。 Visual Basicはコンパイルされた言語の例であり、Javaはインタープリター言語の例です。 Visual Basicソースファイル(.vbファイル)がコンパイルされます。 Javaソースファイル(.javaファイル)は、最初に(javacコマンドを使用して)バイトコード(.classファイルに含まれるオブジェクトコード)にコンパイルされ、javaインタプリタ(javaコマンドを使用)を使用して解釈されます。ソフトウェアアプリケーションが配布される場合、通常、ソースファイルは含まれません。ただし、アプリケーションがオープンソースの場合は、ソースも配布され、ユーザーはソースコードを表示して変更することもできます。

オブジェクトプログラムとは?

オブジェクトプログラムは、通常、機械実行可能ファイルであり、コンパイラを使用してソースファイルをコンパイルした結果です。機械命令以外にも、デバッグ情報、シンボル、スタック情報、再配置情報、プロファイリング情報などがあります。それらは機械語の命令を含んでいるので、人間が容易に読むことができません。しかし、オブジェクトプログラムは、ソースファイルと実行可能ファイルの間の中間オブジェクトを参照することがあります。リンカとして知られているツールは、オブジェクトのセットを実行可能ファイル(例えば、C言語)にリンクするために使用される。上記のように。 exeファイルとバイトコードファイルはVisual BasicとJavaをそれぞれ使用するときに生成されるオブジェクトファイルです… exeファイルはWindowsプラットフォーム上で直接実行可能ですが、バイトコードファイルはインタープリタを実行する必要があります。ほとんどのソフトウェアアプリケーションは、オブジェクトファイルまたは実行可能ファイルのみで配布されます。オブジェクトまたは実行可能ファイルは、逆コンパイルによって元のソースファイルに戻すことができます。たとえば、javaです。クラスファイル(バイトコード)はDecompilerツールを使用してオリジナルに逆コンパイルできます。javaファイル。

<! - > -

ソースプログラムとオブジェクトプログラムの違いは何ですか?ソースプログラムは、プログラマによって書かれたプログラムであり、オブジェクトプログラムは、1つ以上のソースファイルを入力として用いてコンパイラによって生成される。ソースファイルは、JavaやCなどの高級言語で書かれているため、人間が簡単に読むことができます。しかし、オブジェクトプログラムは通常、アセンブラやマシンコードなどの低レベル言語を含んでいます。ソースファイルは、実行のためにコンパイルまたは解釈することができます。逆コンパイラを使用して、オブジェクトプログラムを元のソースファイルに戻すことができます。ソースプログラムとオブジェクトプログラムという用語は相対的な用語として使用されていることに注意することが重要です。あなたが(コンパイラのような)プログラム変換プログラムを使うなら、ソースプログラムが入り、出てくるのはオブジェクトプログラムです。したがって、あるツールで作成されたオブジェクトプログラムは、別のツールのソースファイルになります。