遅延バインディングとは?
遅延バインディングは、インポートされた関数のアドレスを起動時ではなく各関数の最初の呼び出し時に解決する動的リンクの手法です。最初の呼び出しはスタブを経由し、動的リンカにシンボルを見つけてもらい、テーブルを修正させて以降の呼び出しが直接向かうようにします。関数ごとの小さな一度限りのコストと引き換えに、プログラムの起動を高速化します。
なぜ重要か
遅延バインディングは、呼び出さないかもしれない多くの関数をリンクするプログラムの起動を高速化します。起動時間よりも予測可能なレイテンシや堅牢化が重要な場合には、無効にできます。
関連ガイド
What Is the Procedure Linkage Table?The procedure linkage table is a stub table that routes calls to external functions, enabling their addresses…
What Is the Global Offset Table?The global offset table is a per-module table of addresses that position-independent code reads to reach glob…
What Is a Dynamic Linker?A dynamic linker loads the shared libraries a program depends on at startup and binds its references to the f…