DLL (Dynamic Link Library)
DLL, birden fazla program tarafından eş zamanlı olarak kullanılan kod ve verileri içeren bir Windows paylaşımlı kütüphane formatıdır. DLL'ler modüler yazılım tasarımını mümkün kılar, kod paylaşımıyla bellek kullanımını azaltır ve Windows işletim sistemi ile uygulama ekosisteminin temelini oluşturur.
MIME Tipi
application/vnd.microsoft.portable-executable
Tip
Ikili
Sikistirma
Kayipsiz
Avantajlar
- + 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
Dezavantajlar
- − DLL Hell — version conflicts between applications
- − Security risk — malicious DLL injection and sideloading attacks
- − Windows-only — Linux uses .so, macOS uses .dylib
.DLL Ne Zaman Kullanilir
DLL'ler Windows uygulamaları tarafından kullanılır; geliştiriciler bunları paylaşımlı kütüphaneler için oluşturur. Son kullanıcılar sistem DLL'lerini değiştirmemeli veya silmemelidir.
Teknik Detaylar
DLL dosyaları PE (Portable Executable) formatını kullanır — .exe dosyalarıyla aynı yapıya sahiptir ancak kütüphane olduklarını belirten bir bayrak içerir. Bir dışa aktarma tablosu aracılığıyla fonksiyonları ve verileri dışa aktarır ve çalışma zamanında Windows yükleyicisi tarafından yüklenir.
Gecmis
Microsoft, sınırlı bellek ortamlarında uygulamalar arasında kod paylaşmak için 1985 yılında Windows 1.0 ile birlikte DLL'leri tanıttı. Format, Windows ile birlikte bugün kullanılan PE (Portable Executable) formatına evrildi.