DLL (Dynamic Link Library)
DLL é um formato de biblioteca compartilhada do Windows que contém código e dados usados por múltiplos programas simultaneamente. As DLLs permitem design modular de software, reduzem o uso de memória através do compartilhamento de código e são fundamentais para o sistema operacional e ecossistema de aplicações Windows.
Tipo MIME
application/vnd.microsoft.portable-executable
Tipo
Binário
Compressão
Sem perdas
Vantagens
- + 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
Desvantagens
- − DLL Hell — version conflicts between applications
- − Security risk — malicious DLL injection and sideloading attacks
- − Windows-only — Linux uses .so, macOS uses .dylib
Quando usar .DLL
As DLLs são usadas por aplicações Windows; desenvolvedores as criam para bibliotecas compartilhadas. Usuários finais não devem modificar ou excluir DLLs do sistema.
Detalhes técnicos
Os arquivos DLL usam o formato PE (Portable Executable) — a mesma estrutura dos arquivos .exe, mas com uma flag indicando que são bibliotecas. Eles exportam funções e dados através de uma tabela de exportação e são carregados pelo loader do Windows em tempo de execução.
Histórico
A Microsoft introduziu as DLLs com o Windows 1.0 em 1985 para compartilhar código entre aplicações em ambientes de memória limitada. O formato evoluiu com o Windows para o formato PE (Portable Executable) usado atualmente.