動的リンカとは

どうてきりんか

動的リンクのプログラムの起動時に、共有ライブラリを探して読み込み、再配置とシンボルの結合を行ってからプログラムを開始させるソフトウェア。Linuxのld.soなど。

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

解説の中の「動的リンカ」

「動的リンカ」が出てくる問題(10問)

  1. Linuxで動的リンクのプログラムを起動するときに働く動的リンカ(ld.soなど)の役割として正しいものはどれか。
  2. リンカが行う再配置(リロケーション)の説明として正しいものはどれか。
  3. 動的リンク(共有ライブラリ)の利点として正しいものはどれか。
  4. 動的リンクを使ったプログラムを別のコンピュータにコピーして実行したら、起動しなかった。最も考えられる原因はどれか。
  5. 共有ライブラリで使われるGOT(グローバルオフセットテーブル)の役割として正しいものはどれか。
  6. 動的リンクで、PLT(プロシージャリンケージテーブル)を使った遅延束縛(レイジーバインディング)を行う場合の説明として正しいものはどれか。
  7. プログラムを起動するとき(Linuxのexecveなど)に、OSのローダが行うこととして正しいものはどれか。
  8. オブジェクトファイルを逆アセンブルすると、外部の関数printfを呼ぶ命令の飛び先が0のように仮の値になっていた。この値はいつ正しく埋められるか。
  9. 共有ライブラリを作るとき、外から使う関数だけを公開し、内部の関数はシンボルの可視性(visibility)を「hidden」にする利点として正しいものはどれか。
  10. C++でグローバルなオブジェクトのコンストラクタがmainより前に実行されるしくみとして正しいものはどれか。

関連する用語

動的リンク 共有ライブラリ GOT(グローバルオフセットテーブル) 再配置 リンカ PLT(プロシージャリンケージテーブル) 静的リンク 位置独立コード ローダ オブジェクトファイル

用語集の一覧へ