オブジェクトファイル
ウィキペディア フリーな encyclopedia
オブジェクトファイル (object file) またはオブジェクトコード (object code) とは、コンパイラがソースコードを処理した結果生成される(たいていはアセンブリ言語による assembler code file と、アセンブラによるそれのアセンブルを経由している)、コード生成の結果にしてバイナリコードを含む中間的なデータ表現のファイルである。オブジェクトファイルは共有ライブラリのようにも使われることがある。名称としては、オブジェクトファイル、オブジェクトコードの他、オブジェクトプログラム(object program)[1]とも。
オブジェクトモジュールとは、ソースコードをコンパイルした結果の(静的リンクが行われる前の)機械語プログラムである。これらオブジェクトモジュールの集合体がオブジェクトファイルである。
中身は、機械語バイナリと、異なるモジュール間の相互参照を解決するシンボルテーブルやリロケーションテーブル、スタック巻き戻し情報、コメント、さらにリンクまたはデバッグに使用されるメタデータが含まれる場合もある。
オブジェクトファイル群をリンクすることにより、最終的な実行ファイルやライブラリが作成される。オブジェクトファイルのほとんどは機械語(コンピュータのCPUが直接実行できるコード)であり、オブジェクトファイルフォーマットはコンパイラやアセンブラが生成するオブジェクトファイルのファイルフォーマットである。