एक DLL एक गतिशील लिंक लाइब्रेरी है। यह कोड और / या डेटा का एक संग्रह है, जिसका उपयोग कई अनुप्रयोगों (या अन्य पुस्तकालयों / मॉड्यूल) द्वारा किया जा सकता है।
उदाहरण के लिए, फ़ाइलों को संसाधित करने के सामान्य तरीकों के लिए, GUI घटकों के साथ काम आदि पुस्तकालयों में उपलब्ध कराया जाता है, इसलिए कई अनुप्रयोग समान कार्यक्षमता का उपयोग कर सकते हैं। यह न केवल एक ही सामान को कई बार बनाने की आवश्यकता को कम करता है, बल्कि यह भी सुनिश्चित करता है कि जैसे कि आम संवाद अनुप्रयोगों के बीच समान हैं।
पुस्तकालयों को रनटाइम पर लोड किया जा सकता है और इस प्रकार विभिन्न समवर्ती अनुप्रयोगों के बीच साझा किया जाता है। इसे डायनेमिक लिंकिंग कहा जाता है।
कुछ मामलों में पुस्तकालय को आवेदन के भीतर ही शामिल किया जा सकता है। इसे स्टेटिक लिंकिंग के रूप में जाना जाता है। स्टेटिक लिंकिंग लचीलेपन की कीमत पर तैनाती को आसान बनाता है क्योंकि प्रत्येक एप्लिकेशन DLL की समान कॉपी को लोड करेगा।
हालांकि, स्टेटिक लिंकिंग हमेशा एक विकल्प नहीं होता है। उदाहरण के लिए, आप एक .NET अनुप्रयोग को सांख्यिकीय रूप से लिंक नहीं कर सकते। .NET एप्लिकेशन को चलाने के लिए उपयोगकर्ता के पास .NET लाइब्रेरी होनी चाहिए और रनटाइम पर लाइब्रेरीज़ (या उन्हें .NET में कहा जाता है) को लोड किया जाता है।
DLL एप्लिकेशन बनाने के लिए उपयोग किए गए समान टूल द्वारा बनाए जाते हैं। विशिष्ट विवरण उपयोग किए गए उपकरणों पर बहुत निर्भर करते हैं।