.dll
Other
DLL (Dynamic Link Library)
DLLは複数のプログラムが同時に使用するコードとデータを含むWindows共有ライブラリフォーマットです。DLLはモジュラーなソフトウェア設計を可能にし、コード共有によりメモリ使用量を削減し、Windowsオペレーティングシステムとアプリケーションエコシステムの基盤です。
MIMEタイプ
application/vnd.microsoft.portable-executable
種類
バイナリ
圧縮
無劣化
メリット
- + Code sharing — multiple programs use the same DLL in memory
- + Modular updates — patch a DLL without recompiling applications
- + Reduced disk and memory usage through shared libraries
デメリット
- − DLL Hell — version conflicts between applications
- − Security risk — malicious DLL injection and sideloading attacks
- − Windows-only — Linux uses .so, macOS uses .dylib
.DLLを使うタイミング
DLLはWindowsアプリケーションで使用されます。開発者は共有ライブラリとしてDLLを作成します。エンドユーザーはシステムDLLを変更または削除しないでください。
技術的詳細
DLLファイルはPE(Portable Executable)フォーマットを使用します。.exeファイルと同じ構造ですが、ライブラリであることを示すフラグがあります。エクスポートテーブルを通じて関数とデータをエクスポートし、ランタイムにWindowsローダーがロードします。
歴史
Microsoftは1985年にWindows 1.0と共に、限られたメモリ環境でアプリケーション間のコード共有のためにDLLを導入しました。このフォーマットは現在使用されているPE(Portable Executable)フォーマットへとWindowsと共に発展しました。