用語
オブジェクトファイル
~.oだけでなく実行形式もオブジェクトファイルと呼ぶこともある。
狭義のコンパイル
プリプロセス後、~.sファイルが作成されるまで。
広義のコンパイル
~.oをリンクして実行形式が作成されるまで。
オブジェクトファイル(~.o)
各セクション情報を持っている、セクションヘッダをもつ。まだ、セクションはまとめられていないのでセグメントはもたない。よってプログラムヘッダももたない。
オブジェクトファイル(実行形式)
~.oのセクションをまとめたもの、セグメントをもっている。各セグメントの情報を保持している、プログラムヘッダをもっている。
セクション
.text .data .bssとか
セクションヘッダ
各セクションの情報をもつ。リンクはセクション単位で行われる。
プログラムヘッダ
各セグメントの情報をもつ。ローダはセグメント単位でロードする。
シンボルテーブル
関数、変数の名前とアドレスの対応表。ここにアドレスを挿入することをシンボル解決。
再配置
オブジェクトファイルが実際の固定アドレスに割り当てられること