\r\n\r\n
DLLとLIB
ライブラリとは、アプリケーションを開発するために利用できるリソースの集合体です。ライブラリは通常、サブルーチン、関数、クラス、値、型から構成されています。リンク処理(通常はリンカーが行う)において、ライブラリと実行ファイルは互いに参照し合う。サブルーチンがターゲットアプリケーションにロードされるタイミングによって、ライブラリファイルはスタティックライブラリとダイナミックライブラリに分けられる。したがって、LIBファイルは静的リンクライブラリであり、DLLファイルは動的リンクライブラリである。
DLLとは何ですか?
ダイナミックリンクライブラリ(DLL)とは、マイクロソフト社が開発した共有ライブラリ実装のことです。.dllは通常のDLLファイル、ocxはActiveXコントロールを含むライブラリ、.drvは古いシステムドライバファイルで使用される拡張子を使用します。WindowsのEXEファイルと同じ形式(32ビット/64ビットWindowsではポータブル実行ファイル、16ビットWindowsでは新規実行ファイル)です。したがって、DLLファイルには、コード、データ、リソースのあらゆる組み合わせを含めることができます(EXEファイルの場合と同様)。実は、DLLファイル形式のデータファイルをリソースDLLと呼びます。アイコンライブラリ(拡張子は.icl)やフォントファイル(拡張子は.fonや.fot)は、リソースDLLの一例です。
セクタ***と呼ばれるコンポーネントがDLLを構成し、各セクションは読み取り専用/書き込み可能、実行可能/不可能といった独自のプロパティを持ちます。コード部分は実行可能で、データ部分は実行不可能です。コード部分は共有で、データ部分は非公開です。これは、DLLを使用するすべてのプロセスがコードの同じコピーを使用し、各プロセスはデータの独自のコピーを持つことを意味します。Windowsの主なダイナミックライブラリはkernel32.dllで、Windowsの基本機能(ファイルおよびメモリ関連機能)が含まれています。COM(Component Object Model)は、OOP(Object Oriented Programming)をDLLで拡張したものです。従来のDLLは、COMファイルよりも使い勝手が良い。
LIBとは?
LIBファイルは、静的ライブラリ(静的リンクライブラリともいう)であり、サブルーチン、外部関数、変数のコレクションを含んでいます。実際にアプリケーションにコピーされるのは、ターゲットコードです。コンパイラ、リンカ、バインダはこの解析を行い、ターゲットファイルと実行ファイルを生成します。このプロセスをスタティックビルドプロセスと呼びます。
DLLとLIBの違いは何ですか?