Skip to main content

オブジェクトファイルとは何ですか?

objectオブジェクトファイルは、コンパイラと呼ばれるプログラムによって生成されたコンピューターファイルであり、データと手順を含む。コンパイラは、プログラミング言語ソースコードをオブジェクトコードとして知られる中間マシン読み取り可能なフォームに変換します。小さなプログラムは単一のオブジェクトファイルにコンパイルされる可能性がありますが、通常、より大きなプログラムは関連する関数のいくつかのファイルにコンパイルされます。これらの個々のオブジェクトファイルはリンカーによって結合され、オペレーティングシステム固有の情報が追加されて実行可能なプログラムが形成されます。common慣行では、オブジェクトファイルは.objファイル拡張子で示されます。ただし、これらのファイルにはいくつかの異なる形式があります。最も一般的なのはIntel&Reg;です再配置可能なオブジェクトモジュール形式(OMF)、およびWindows&RegおよびUnix&Regの共通オブジェクトファイル形式(cofo)(cofo);システムV.多くのinix®システム、実行可能ファイル(ELF)はcoffを交換するようになりました。外部参照に開かれている手順とデータは、他のモジュールから呼び出すことができる名前が割り当てられます。同様に、モジュール以外の情報への参照は記録されますが、名前は割り当てられていません。ファイルがリンクされている場合、名前のない参照に、元々定義されていたモジュールに与えられた名前が割り当てられます。ローカル名は、モジュール内のみで言及される命令とデータに使用されます。

リンク可能なコードがすべてオブジェクトファイルとして保存されているわけではありません。ライブラリは、オブジェクトコードとして保存されているプリコンパイルされたルーチンのコレクションです。それらはオブジェクトファイルとほぼ同じ方法で生成され、頻繁に呼ばれる手順を保存するのに役立ちます。リンカーが他のオブジェクトファイル内に参照が見つからない場合、ライブラリファイルで自動的に検索します。プログラミング言語のほとんどの実装には、機能の標準的なライブラリが付属しています。リンクされたときにオブジェクトコードをプログラムにバインドする代わりに、プログラムが読み込まれたときに取得されるか、手順が参照された実行時に取得されます。Windows&Reg;環境は、動的リンクライブラリとして知られており、.dll拡張子で示されます。unix®に似たシステム多くの場合、このタイプのファイルを動的共有オブジェクト(DSO)と呼びます。このタイプのオブジェクトファイルは、特定のプログラムで使用するために実装される場合があり、そのプログラムのインストールの一部になります。