डीएलएल बनाम एलआईबी
एक पुस्तकालय संसाधनों का एक संग्रह है जिसका उपयोग अनुप्रयोगों को विकसित करने के लिए किया जा सकता है। एक पुस्तकालय आमतौर पर सबरूटीन्स, कार्यों, वर्गों, मूल्यों और प्रकारों से बना होता है। लिंकिंग प्रक्रिया के दौरान (आमतौर पर एक लिंकर द्वारा किया जाता है), पुस्तकालय और निष्पादन योग्य एक दूसरे का संदर्भ देते हैं। लाइब्रेरी फ़ाइलों को स्थिर और गतिशील पुस्तकालयों में विभाजित किया जाता है, जो उस समय पर निर्भर करता है जब लक्ष्य एप्लिकेशन में सबरूटीन लोड किए जाते हैं। तदनुसार, एलआईबी फाइलें स्थिर रूप से जुड़ी पुस्तकालय हैं और डीएलएल फाइलें गतिशील रूप से जुड़ी पुस्तकालय हैं।
डीएलएल क्या है?
डायनेमिक लिंक लाइब्रेरी (आमतौर पर डीएलएल के रूप में जाना जाता है) माइक्रोसॉफ्ट द्वारा विकसित एक साझा पुस्तकालय कार्यान्वयन है।यह.dll,.ocx या.drv एक्सटेंशन का उपयोग करता है और इनका उपयोग Microsoft Windows और OS/2 ऑपरेटिंग सिस्टम में किया जाता है।.dll का उपयोग नियमित DLL फ़ाइलों द्वारा किया जाता है। और.ocx एक्सटेंशन का उपयोग उन पुस्तकालयों द्वारा किया जाता है जिनमें ActiveX नियंत्रण होते हैं और.drv एक्सटेंशन का उपयोग लीगेसी सिस्टम ड्राइवर फ़ाइलों द्वारा किया जाता है। डीएलएल फ़ाइल प्रारूप विंडोज एक्सई फाइलों के समान है (32-बिट/64-बिट विंडोज़ पर पोर्टेबल निष्पादन योग्य फाइलें, और 16-बिट विंडोज़ पर नई निष्पादन योग्य)। इसलिए, कोड, डेटा और संसाधनों के किसी भी संयोजन को डीएलएल फाइलों में समाहित किया जा सकता है (जैसे EXE फाइलों में)। वास्तव में, डीएलएल फ़ाइल प्रारूप वाली डेटा फ़ाइलों को संसाधन डीएलएल कहा जाता है। आइकन लाइब्रेरी (.icl एक्सटेंशन के साथ) और फ़ॉन्ट फ़ाइलें (.fon और.fot एक्सटेंशन के साथ) संसाधन DLL के उदाहरण हैं।
सेक्शन नामक घटक एक डीएलएल बनाते हैं और प्रत्येक अनुभाग की अपनी विशेषताएं होती हैं जैसे केवल पढ़ने योग्य/लिखने योग्य और निष्पादन योग्य/गैर निष्पादन योग्य। कोड अनुभाग निष्पादन योग्य हैं, जबकि डेटा अनुभाग गैर निष्पादन योग्य हैं। कोड अनुभाग साझा किए जाते हैं और डेटा अनुभाग निजी होते हैं।इसका मतलब है कि डीएलएल का उपयोग करने वाली सभी प्रक्रियाएं कोड की एक ही प्रति का उपयोग करेंगी, जबकि प्रत्येक प्रक्रिया में डेटा की अपनी प्रति होगी। विंडोज़ के लिए प्राथमिक गतिशील पुस्तकालय कर्नेल 32. डीएलएल है, जिसमें विंडोज़ पर बेस फ़ंक्शंस (फ़ाइल और मेमोरी संबंधित कार्यक्षमता) शामिल हैं। COM (कंपोनेंट ऑब्जेक्ट मॉडल) DLL का OOP (ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) का विस्तार है। COM फ़ाइलों की तुलना में पारंपरिक DLL का उपयोग करना आसान है।
एलआईबी क्या है?
LIB फाइलें स्थिर पुस्तकालय हैं (जिन्हें स्थिर रूप से जुड़े पुस्तकालयों के रूप में भी जाना जाता है)। एलआईबी फाइलों में सबरूटीन, बाहरी कार्यों और चर का संग्रह होता है। LIB फ़ाइलें संकलन-समय पर (रन-टाइम के विपरीत) हल की जाती हैं। कोड वास्तव में लक्ष्य एप्लिकेशन में कॉपी किया गया है। एक कंपाइलर, लिंकर या एक बाइंडर इस संकल्प को करेगा और एक ऑब्जेक्ट फ़ाइल और एक निष्पादन योग्य फ़ाइल तैयार करेगा। इस प्रक्रिया को स्थैतिक निर्माण प्रक्रिया कहा जाता है।
डीएलएल और एलआईबी में क्या अंतर है?
एलआईबी पुस्तकालयों को संकलन समय के दौरान बुलाया जा सकता है, लेकिन डीएलएल पुस्तकालयों को केवल रन-टाइम के दौरान ही बुलाया जा सकता है।एलआईबी फाइलें डीएलएल फाइलों की तुलना में काफी बड़ी हैं। डीएलएल फाइलों के साथ एक बहुत ही आम समस्या संस्करण की समस्या है। ऐसा तब होता है जब डीएलएल का कोड बदल दिया जाता है और एप्लिकेशन डीएलएल के गलत संस्करण का उपयोग करता है। यह एलआईबी फाइलों से जुड़ी कोई समस्या नहीं है। पुन: प्रयोज्य के संदर्भ में, सिस्टम के नए संस्करण या पूरी तरह से नए अनुप्रयोगों को लिखते समय, डीएलएल हमेशा एलआईबी से बेहतर होते हैं।