DLL (Dynamic-Link Library)
Windows ऑपरेटिंग सिस्टम पर शेयर्ड लाइब्रेरी के रूप में उपयोग किया जाने वाला एक्ज़ीक्यूटेबल फ़ाइल फॉर्मेट। DLL फ़ाइलें कोड और डेटा प्रदान करती हैं जिन्हें कई प्रोग्राम एक साथ उपयोग कर सकते हैं।
MIME Type
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 कब उपयोग करें
Windows ऐप्लिकेशन डेवलपमेंट, प्लगइन आर्किटेक्चर, शेयर्ड कोड लाइब्रेरी, Windows API एक्सटेंशन, और कोड रीयूज़।
तकनीकी विवरण
DLL, PE (Portable Executable) फॉर्मेट का उपयोग करता है — MZ DOS हेडर + PE signature + COFF हेडर + Optional हेडर + Section टेबल। Export टेबल (फ़ंक्शन/डेटा), Import टेबल (dependencies), Relocation टेबल और Resource सेक्शन होते हैं। LoadLibrary/GetProcAddress द्वारा रनटाइम लोडिंग।
इतिहास
Microsoft ने Windows 1.0 (1985) में DLL अवधारणा पेश की। DLL ने मेमोरी-सीमित शुरुआती PC पर कोड शेयरिंग सक्षम की। Windows API (kernel32.dll, user32.dll, gdi32.dll) DLL पर आधारित है। 'DLL Hell' (संस्करण विरोध) एक कुख्यात समस्या रही जिसे WinSxS/assembly manifest ने हल किया।