オブジェクトファイルとは

おぶじぇくとふぁいる

コンパイラが1つのソースファイルから出力するファイル。機械語、データの初期値、シンボルテーブル、再配置情報を含むが、ほかのファイルの番地は未確定で、リンクしないと実行できない。

この用語の分野: リンカ・ローダと実行形式

解説の中の「オブジェクトファイル」

「オブジェクトファイル」が出てくる問題(8問)

  1. コンパイラが1つのソースファイルから出力するオブジェクトファイル(.o)について正しいものはどれか。
  2. GNUのリンカで「gcc -lmylib main.o」のように、静的ライブラリをそれを使うオブジェクトファイルより前に書くと、未定義の参照のエラーになることがある。その理由として正しいものはどれか。
  3. オブジェクトファイルを逆アセンブルすると、外部の関数printfを呼ぶ命令の飛び先が0のように仮の値になっていた。この値はいつ正しく埋められるか。
  4. C言語のプログラムから実行ファイルができるまでの一般的な流れとして正しいものはどれか。
  5. リンカの主な役割として正しいものはどれか。
  6. リンカが行うシンボル解決の説明として正しいものはどれか。
  7. C言語のプログラムをリンクしたときに「undefined reference to `foo'」(fooへの未定義の参照)というエラーが出た。最も考えられる原因はどれか。
  8. 静的ライブラリ(.aファイル)と一緒にリンクするとき、リンカが実行ファイルに組み込むものとして正しいものはどれか。

関連する用語

リンカ 再配置 シンボルテーブル 静的ライブラリ シンボル解決 動的リンク PLT(プロシージャリンケージテーブル) 動的リンカ GOT(グローバルオフセットテーブル) アセンブラ

用語集の一覧へ