リンカ・ローダと実行形式
静的リンクの説明として正しいものはどれか。
- A使うライブラリのコードを実行ファイルの中にコピーして結合する
- Bプログラムを実行するたびに、ライブラリを読み込んで結合する
- Cライブラリを使わずに、すべての処理を1つのソースファイルに書く
答えと解説を見る
正解:A. 使うライブラリのコードを実行ファイルの中にコピーして結合する
静的リンクでは、リンカが静的ライブラリ(Linuxでは.aファイル)から必要な関数を取り出して実行ファイルに組み込みます。実行環境にライブラリがなくても動き、起動時の結合の手間もありませんが、実行ファイルが大きくなり、同じライブラリを使うプログラムごとにコピーを持ちます。ライブラリに不具合の修正があっても、作り直さないと反映されません。
- A. 正しい。実行ファイルだけで動きます。
- B. それは動的リンクです。
- C. ライブラリを使うかどうかとは別の話です。