ソフトウェア
リンカ(Linker)の役割に関して、静的リンクと動的リンクの説明として正しいものはどれか。
ア.動的リンクでは実行ファイルにすべてのライブラリが含まれるため実行ファイルサイズが大きくなる
イ.静的リンクでは複数のプログラムが同一ライブラリコードをメモリ上で共有できる
ウ.静的リンクではライブラリのコードが実行ファイルに組み込まれ、動的リンクでは実行時にライブラリをロードする正解
エ.動的リンクではOSのバージョンに依存せず常に同じライブラリバージョンを使用できる
解説
静的リンク=「弁当を家から持参(全部入り実行ファイル)」、動的リンク=「外食(実行時に食堂=ライブラリを利用)」。持参は確実だが重い、外食は軽いが食堂が閉まると困る!
なぜ ウ が正解か
静的リンク: コンパイル時にライブラリを実行ファイルに組み込む。メリット: 依存関係なし、配布が簡単。デメリット: ファイルサイズ大・ライブラリ更新時に再コンパイル必要。動的リンク(DLL/so): 実行ファイルはライブラリ参照のみ保持し、実行時OSがライブラリをロード。メリット: ファイルサイズ小・複数プロセスでライブラリ共有可能・ライブラリ更新が容易。
出典: AI生成問題(学習用)