🍋
Menu
.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と共に発展しました。

関連フォーマット