動的リンクとは

どうてきりんく

実行時に共有ライブラリを読み込んで結びつける方式。ライブラリをプロセス間で共有でき、差し替えで修正が反映されるが、実行環境に合うライブラリが必要。

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

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

「動的リンク」が出てくる問題(12問)

  1. 動的リンク(共有ライブラリ)の利点として正しいものはどれか。
  2. 動的リンクを使ったプログラムを別のコンピュータにコピーして実行したら、起動しなかった。最も考えられる原因はどれか。
  3. 動的リンクで、PLT(プロシージャリンケージテーブル)を使った遅延束縛(レイジーバインディング)を行う場合の説明として正しいものはどれか。
  4. Linuxで動的リンクのプログラムを起動するときに働く動的リンカ(ld.soなど)の役割として正しいものはどれか。
  5. リンカが行う再配置(リロケーション)の説明として正しいものはどれか。
  6. プログラムを起動するとき(Linuxのexecveなど)に、OSのローダが行うこととして正しいものはどれか。
  7. 実行ファイルにstripコマンドを使ったときに起こることとして正しいものはどれか。
  8. Linuxのdlopen関数(WindowsのLoadLibraryに相当)の使い道として最も適切なものはどれか。
  9. オブジェクトファイルを逆アセンブルすると、外部の関数printfを呼ぶ命令の飛び先が0のように仮の値になっていた。この値はいつ正しく埋められるか。
  10. Linuxの共有ライブラリで、libfoo.so.1の「.1」のようなsonameのバージョン番号を上げるのは、一般にどのようなときか。
  11. Linuxでlddコマンドを実行ファイルに使うと分かることはどれか。
  12. 主なOSで使われる実行ファイルの形式の組み合わせとして正しいものはどれか。

関連する用語

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

用語集の一覧へ