लिंकर द्वारा एक लीब फाइल को पढ़ा जाता है और निष्पादन के दौरान एक dll फाइल का उपयोग किया जाता है। निष्पादन के दौरान एक आवश्यक फ़ाइल अनिवार्य रूप से बेकार है और एक लिंकर एक डीएल फ़ाइल पढ़ने में असमर्थ है (संभवतः यहां एक तरह से अप्रासंगिक तरीके को छोड़कर)।
स्टैटिक और डायनेमिक लिंकिंग के लिए काम कर रही फाइलों के बीच का अंतर भ्रामक हो सकता है लेकिन अगर आप थोड़ा इतिहास समझ लेते हैं तो यह बहुत स्पष्ट हो जाता है।
मूल रूप से केवल स्थिर पुस्तकालय थे। एक स्थिर लाइब्रेरी के लिए, .lib फ़ाइल में obj फाइलें होती हैं। प्रत्येक obj फ़ाइल एक और केवल एक संकलक स्रोत कोड इनपुट फ़ाइल का आउटपुट है। एक lib फ़ाइल संबंधित obj फ़ाइलों का एक संग्रह है, बहुत कुछ एक निर्देशिका में obj फ़ाइलें डालने की तरह। यह अनिवार्य रूप से एक lib फ़ाइल है, obj फ़ाइलों की लाइब्रेरी। एक स्थिर लिंक के लिए, सभी ओबज फाइलें जो एक निष्पादन योग्य उपयोग एक फाइल में संयुक्त होती हैं। इसकी तुलना एक गतिशील लिंक से करें जिसमें निष्पादन योग्य फ़ाइल उस कोड के अन्य कोड से अलग होती है जिसका वह उपयोग करता है।
डायनेमिक लिंकिंग को कार्यान्वित करने के लिए, Microsoft ने ऐसी कामेच्छा वाली फाइलों के उपयोग को संशोधित किया, जो वे किसी obj फ़ाइल के स्थानों के बजाय dll फ़ाइल को संदर्भित करते हैं। इसके अलावा, सभी जानकारी जो एक स्थैतिक लिंक के लिए एक पुस्तकालय में है, एक गतिशील लिंक के लिए समान है। वे सभी जहाँ तक जानकारी है उनमें एक डायनामिक लिंक के लिए एक डीबीडी फ़ाइल dll फ़ाइल निर्दिष्ट करता है।