静的ライブラリとは
静的ライブラリは、プログラムに簡単にリンクするための関連ファイルのグループを保持するコンピューターアーカイブです。 このライブラリの内容は通常、人間が読み取れないマシンコードファイルです。 これらのマシンコードファイルは通常、コードのコンパイルまたは同様のプロセスから生成されます。 ほとんどのオペレーティングシステムには静的ライブラリの標準拡張機能があるため、サイズやコンテンツに関係なく簡単に識別できます。
2つの異なる種類のコンピューターライブラリは、静的と動的です。 静的ライブラリは、正確なパスがそれを使用する実行可能ファイルとは無関係であるため、動的ライブラリよりも柔軟性があります。 静的ライブラリは実行可能ファイルにリンクされ、そのコンテンツは最終プログラムに含まれているため、必要に応じて削除できます。 動的ライブラリは、実行可能ファイルの実行時にコンテンツがロードされるため、削除できません。そのため、実行可能ファイルに対する相対的な場所とオペレーティングシステム内の場所は重要です。 静的リンクにより、絶対ロケーションパスを気にせずにライブラリを移動または再利用できます。
動的ライブラリとは対照的に、静的ライブラリは通常、単独では実行できません。 C ++では、静的ライブラリは大規模なオブジェクトファイルのように動作することが多く、オブジェクトファイルと同じ方法で実行可能ファイルにリンクでき、プログラムに悪影響を与えることなく削除できます。 多くの場合、静的ライブラリは見落とされますが、多くの場合、組織の観点からは有用です。 ユーザーと開発者の両方にとって、通常、関連する素材を含む単一のファイルを作成する方が、多くの小さなファイルを作成するよりも簡単です。 多くの開発者は、この組織的利益のために静的ライブラリを構築します。
静的ライブラリの構築は、動的ライブラリの構築よりもはるかに簡単です。 静的ライブラリのコンテンツは、単独で実行されることは想定されていないため、リンクされていません。そのため、通常、単純なアーカイバで作成できます。 内部で適切にリンクしない静的ライブラリを作成することは、ライブラリが他の必要な外部ファイルとリンクされている限り、本質的に危険ではありません。 ライブラリは、オブジェクトファイルの外部グループに依存することも、あるライブラリが別のライブラリに依存することもできます。 静的ライブラリの使用と構成は、要件ではなくプログラマーの個人的な選択であることがよくありますが、固有のモビリティにより、静的ライブラリが望ましい選択になることがよくあります。