静的ライブラリ:ソースコードの再コンパイルと共有

静的ライブラリ:ソースコードの再コンパイルと共有

Linuxで静的ライブラリと共有ライブラリの作成と使用を理解しようとしています。図書館案内。リンクに私が混乱している2つの文があります。

  1. 静的ライブラリを使用すると、ユーザーはコードを再コンパイルすることなくプログラムに接続できるため、再コンパイル時間を節約できます。
  1. 静的ライブラリは、プログラマが自分のライブラリにリンクすることを可能にしますが、ライブラリのソースコードを提供したくない開発者にとって便利です。

1関連:静的ライブラリは実行可能ファイルの一部で終わり、共有ライブラリは独立して保持され、実行可能ファイルが実行を開始したときにのみロードされます。しかし、両方のライブラリが新しいアプリケーションでライブラリを使用しようとしたときに再コンパイルする必要がないという利点はありますか?ライブラリ自体が変更されないと仮定すると?これが本当なら、なぜこのステートメントは共有ライブラリと比較して静的ライブラリの利点があるという印象を与えますか?

2について: 繰り返しますが、これは共有ライブラリには適用されませんか?共有ライブラリは、アーキテクチャ固有の形式のPICで生成されますが、オブジェクトファイルも使用します。それでは、この場合、ソースコードは共有されますか?

ベストアンサー1

私は図書館の外部知識を想定せずに提示された順序でガイドを理解する必要があると思います。したがって、第2章「静的ライブラリ」、比較には共有ライブラリは含まれておらず、まだ導入されていません。

したがって、両方の抜粋はソースコードとの比較にすぎません。ソースコードを提供するよりも静的ライブラリを構築することで、ソースコードを再コンパイルしたり提供しなくても、コンパイルされたオブジェクトを再利用できます。

おすすめ記事