リンカの役割 (複数のオブジェクトファイルやライブラリを結合し実行可能ファイルを生成)

定義

**リンカの役割 (複数のオブジェクトファイルやライブラリを結合し実行可能ファイルを生成)**は、object fileのsymbolを解決・再配置し、実行imageをmemoryへ配置する処理である。「複数のオブジェクトファイルやライブラリを結合し実行可能ファイルを生成」が対象範囲・条件を具体化する。

仕組みと具体例

linkerは未定義symbolをlibrary定義へ結び、relocationを最終addressに合わせて修正する。通常時に加え、境界値、失敗、並行実行、依存条件の変化も追跡する。

実践と検証

ABIとlibrary versionを管理し、再現buildと実行時探索pathを検証する。期待結果を観測可能に記述し、最小例から異常系へ広げる。

トレードオフ

精度・性能・単純さ・運用costの間にはtradeoffがある。適用範囲を広げる前に解決するriskと仮定を確認し、例外には理由と代替策を記録する。