|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。
オブジェクトファイル () またはオブジェクトコード () とは、コンパイラがソースコードを処理した結果生成される、コード生成の結果であるバイナリコードを含む中間的なデータ表現のファイルである。中身は、機械語バイナリとそれに付随するシンボルテーブルやリロケーションテーブルといった付加情報であり、さらにデバッグ支援情報や近年はリンク時最適化等のための高度な情報が含まれる場合もある。オブジェクトファイル群をリンクすることによって最終的な実行ファイルやライブラリが作成される。オブジェクトファイルのほとんどは機械語である(コンピュータのCPUが直接実行できるコード)。オブジェクトファイルフォーマットはコンパイラやアセンブラが生成するオブジェクトファイルのファイルフォーマットである。 == 概要 == オブジェクトファイルにはオブジェクトコードだけでなく、リンカが実行ファイルやライブラリを作成するときに使用するリロケーション情報、プログラム内のシンボル情報、デバッグ情報などが含まれる。 オブジェクトファイルフォーマットには様々なものがある。本来各コンピュータはそれぞれオリジナルのフォーマットを持っていたが、UNIXや他の移植性のあるオペレーティングシステムが普及するに従ってCOFFやELFなどのフォーマットが定義され、様々なシステムで使われるようになった。リンカの入力と出力に同じファイルフォーマットを使うのが一般的であるため、オブジェクトファイルフォーマットは実行ファイルフォーマットでもある。 オブジェクトファイルフォーマットの設計や選択はシステム全体の設計に関わる問題である。リンカの性能に直接関係してくるため、プログラム開発の効率に影響する。また、同じフォーマットを実行ファイルでも使用する場合、プログラムの起動時間にも影響する。多くのオブジェクトファイルフォーマットでは同種のデータを集めた形式でブロック化されており、仮想記憶システムで必要に応じてページ単位にロードすることができ、そのまま実行可能である。 最も単純なオブジェクトファイルフォーマットとしてMS-DOSのCOMフォーマットがある。COMファイルは固定アドレスにロードされるバイト列から構成されている。他のフォーマットは内部構造があり、何ページにも渡る仕様書でその構造が規定されている。 デバッグ情報はCOFFなどのフォーマットでは必須の部分だが、stabs、DWARFなどのフォーマットでは半ば独立したフォーマットとなっている。 GNUプロジェクトのBFDライブラリは様々なフォーマットのオブジェクトファイルについての共通のAPIを提供する。 典型的なオブジェクトファイルフォーマットでサポートされるデータ種別としては、テキストセグメント、データセグメント、BSS がある。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「オブジェクトファイル」の詳細全文を読む スポンサード リンク
|