「オブジェクトファイル」の版間の差分

削除された内容 追加された内容
Melan (会話 | 投稿記録)
2行目:
 
== 概要 ==
オブジェクトファイルにはオブジェクトコードだけでなく、[[リンカ]]が[[実行ファイル]]や[[ライブラリ]]を作成するときに使用する[[リロケーション]]情報、プログラム内のシンボル情報、[[デバッグ]]情報などが含まれる。
 
オブジェクトファイルフォーマットには様々なものがある。本来各コンピュータはそれぞれオリジナルのフォーマットを持っていたが、[[UNIX]]や他の移植性のあるオペレーティングシステムが普及するに従って[[Common Object File Format|COFF]]や[[Executable and Linkable Format|ELF]]などのフォーマットが定義され、様々なシステムで使われるようになった。リンカの入力と出力に同じファイルフォーマットを使うのが一般的であるため、オブジェクトファイルフォーマットは実行ファイルフォーマットでもある。
10行目:
最も単純なオブジェクトファイルフォーマットとして[[MS-DOS]]の[[COMファイル|COM]]フォーマットがある。COMファイルは固定アドレスにロードされるバイト列から構成されている。他のフォーマットは内部構造があり、何ページにも渡る仕様書でその構造が規定されている。
 
デバッグ情報はCOFFなどのフォーマットでは必須の部分だが、[[stabs]][[DWARF]]などのフォーマットでは半ば独立したフォーマットとなっている。
 
[[GNU]]プロジェクトの[[Binary File Descriptor|BFD]]ライブラリは様々なフォーマットのオブジェクトファイルについての共通の[[Application Programming Interface|API]]を提供する。