Skip to main content

静的ライブラリとは何ですか?

static静的ライブラリは、プログラムに簡単にリンクするために関連ファイルのグループを保持するコンピューターアーカイブです。このライブラリの内容は、通常、人間が読み取れないマシンコードファイルです。これらのマシンコードファイルは、通常、コードコンパイルまたは同様のプロセスから生成されます。ほとんどのオペレーティングシステムには、静的ライブラリの標準拡張機能があるため、サイズやコンテンツに関係なく簡単に識別できます。静的ライブラリは、その正確なパスがそれを使用する実行可能ファイルとは無関係であるため、動的ライブラリよりも柔軟です。静的ライブラリは実行可能ファイルにリンクされ、そのコンテンツが最終プログラムに含まれているため、必要に応じて削除できます。コンテンツが実行可能ファイルの実行時にロードされるため、動的ライブラリを削除することはできません。そのため、実行可能ファイルとオペレーティングシステム内の場所が重要です。静的リンクを使用すると、絶対的な位置パスを懸念せずにライブラリを移動または再利用できます。C ++では、静的ライブラリは多くの場合、大きなオブジェクトファイルのように機能し、オブジェクトファイルと同じ方法で実行可能ファイルにリンクでき、プログラムに不利益をもたらすことなく削除できます。多くの場合、静的ライブラリを放棄することは可能ですが、それらはしばしば組織の面で役立ちます。ユーザーと開発者の両方にとって、通常、関連資料を含む単一のファイルを持っている方が、多くの小さなファイルを持つよりも簡単です。多くの開発者は、この組織の利点のために特に静的ライブラリを構築します。静的ライブラリの内容は、単独で実行することが期待されていないためリンクされていないため、通常、それらを作成するのに十分な単純なアーキバーで十分です。ライブラリが必要になる可能性のある他の外部ファイルにリンクされている限り、それ自体内に適切にリンクしない静的ライブラリを作成することは、本質的に危険ではありません。ライブラリは、オブジェクトファイルの外部グループに依存したり、1つのライブラリが別のグループに依存したりできます。静的ライブラリの使用と組織は、多くの場合、プログラマーの要件ではなく個人的な選択ですが、その固有のモビリティはしばしば望ましい選択になります。