オブジェクトコードとは
CやJavaなどのプログラミング言語は、プログラマが入力したソースコードをコンパイルする必要がある高レベル言語です。 コンパイラは、コードを処理すると、他のプログラムに渡したり、コンピューターシステムで実行したりできるオブジェクトコードのセットを生成します。
C ++などのオブジェクト指向言語でソースコードを作成する場合、プログラマはオブジェクトのインスタンスを使用してソースコードを追跡しやすくすることができます。 コードがコンパイルされると、結果のオブジェクトコードは人間が読むのが困難になりますが、コンピューターで非常に効率的に処理できます。 2つのタイプのオブジェクトはまったく異なりますが、それぞれの用途(プログラマーが読み取るものとコンピューターが読み取るもの)については、同様の目的を果たします。
オブジェクトコードは、特定のアプリケーションのソースコードを保護し、購入した製品にソースを含める要件を削除することもできます。 消費者が支払うオブジェクトコードの1つの例は、Microsoft Officeです。 オブジェクトコードはCDまたはDVDに書き込まれ、販売用にパッケージ化されますが、アプリケーションを動作状態にコンパイルするために使用されるソースコードはMicrosoftによって保持され、一般の人々と共有されません。 これにより、マイクロソフトの知的財産が保護され、インストール前にコンパイルするために個人がソフトウェアを購入する必要がなくなります。
コンパイラは、入力されたソースコードを、コンピューターによる読み取り用に最適化された機械語で読み取り可能なオブジェクトに変換するソフトウェアです。 また、インストールされたコードから元のソースコードを分離することは、テストにおいて開発者にメリットをもたらし、ソースコードを継続的に変更し、後でインストールするためにコンパイルできるようにします。 この例としては、アプリケーションのナイトリービルドと安定したパッケージオブジェクトコードを比較する場合があります。 1つはコンパイルする必要があり、毎晩変更されます。もう1つはテストされており、大部分のねじれが解決されたときに利用可能になります。
一部のアプリケーション、またはLinuxなどのオペレーティングシステムは、ユーザーがダウンロードしたらコンパイルすることも、事前にコンパイルされたオブジェクトコードからダウンロードしてインストールすることもできます。 これらのアプリケーションの多くはオープンソースであり、それらを作成およびサポートする開発コミュニティは、それらを使用するユーザーにソースコードの変更を支援するよう奨励しています。
インターネットには、ナイトリービルドの使用を奨励するオープンソースアプリケーションと開発者がますます増えていますが、オープンソースアプリケーションとペイウェアアプリケーションの両方のパッケージ化されたオブジェクトコードは、はるかにユーザーフレンドリーです。