ライブラリ

 関数や変数の実体を集めたファイル。対応するヘッダファイルをインクルードし、リンクすることで使用できます。

 ライブラリには2種類あります。静的リンクライブラリと動的リンクライブラリ(DLL)です。静的リンクライブラリは、実行ファイルを作るリンクにおいてリンクされます。しかし、DLLは実行ファイルを実行する時、または実行中にリンクされます。

 広義には、別のプログラム内で利用できるルーチン群全般を言います。この意味では、ヘッダファイルだけで構成されたものなどもライブラリに含めます。

 実行ファイルと同じように、静的リンクライブラリはコンパイルの解説にある「その(実行ファイルの)前段階のファイル」である「オブジェクトファイル」を1つまたは複数リンクして作ります。

 printf や cout などの実体も、ライブラリから提供されます。printf や cout などの実体を定義するソースファイルがないのは、ライブラリから提供されるからです。もちろん、ライブラリを作る際にソースファイルが必要になりますが、ライブラリの形にしてしまえばそのソースを公開する必要はなくなります。

 ソースを公開するのと比べて、コンパイルする手間が省けるという利点があります。また、ソースを隠したいときはライブラリとして提供することになるでしょう。

参照 : コンパイル | リンク