naobe @ ウィキ
UNIXオブジェクトファイル形式
最終更新:
Bot(ページ名リンク)
-
view
UNIX共通にもどる
a.out形式
単純な構造。動的リンクをサポートすることが困難なため使われなくなっている。c++をサポートできない。
項目 | 説明 |
---|---|
a.outヘッダ | 各セクションのサイズ、エントリポイント(実行開始位置)を表す。 |
テキストセクション | プログラムのコード部 |
データセクション | プログラムのデータ部 |
テキスト再配置情報 | 実行可能ファイルでは不要。.oのファイルでは、リンクすることによって修正すべきコード内の位置をここに保管する。 |
データ再配置情報 | 実行可能ファイルでは不要。.oのファイルでは、リンクすることによって修正すべきデータ内の位置をここに保管する。 |
シンボルテーブル | 大域参照シンボル(大域変数、関数名?)を表す。 |
文字列テーブル | シンボルの名前。シンボル名は可変長であるため、この領域に格納する。 |
ELF(Executable Linking Format)
動的リンクに対応したオブジェクトファイル形式。以下のファイルに対応する。
項目 | 説明 |
---|---|
再配置可能 | コンパイラ、アセンブラが作成する。リンカによって修正されないと使えない。.o形式のファイル? |
実行可能 | 実行可能なファイル。共有ライブラリを使った関数呼び出しを除いてアドレスの再配置は終了しているファイル |
共有ライブラリ | ロードするときにリンクされるファイル。.so形式のファイル? |