静的リンク、動的リンクについて、理解できてなかったので調べた。
まとめ
静的リンク
- ライブラリのコードがアプリケーションの実行ファイルに直接リンクされる。
- ライブラリは、静的ライブラリ(.aファイル)の形式で提供されることが一般的。
- 実行ファイルは、必要なライブラリが含まれているため、必要なライブラリがインストールされていなくても実行できる。
- ライブラリを更新する場合は、アプリケーションの再コンパイルが必要になる。
- 実行ファイルのサイズが大きくなる。
- バージョンの問題が発生することはない。
動的リンク
- ライブラリのコードが実行ファイルに直接リンクされず、実行時に必要な場合に動的にロードされる。
- ライブラリは、共有ライブラリ(.soファイル)の形式で提供されることが一般的。
- 実行ファイルは、必要なライブラリがインストールされている場合にのみ実行できる。
- ライブラリを更新する場合は、アプリケーションの再コンパイルが必要なくなる。
- 実行ファイルのサイズが小さくなる。
- バージョンの問題が発生する場合がある。