DLL "डायनेमिक लिंक लाइब्रेरी" के लिए खड़ा(Stand) है। DLL (.dll) फ़ाइल में फ़ंक्शंस की लाइब्रेरी और अन्य जानकारी होती है, जिसे विंडोज प्रोग्राम द्वारा एक्सेस किया जा सकता है। जब कोई प्रोग्राम लॉन्च किया जाता है, तो आवश्यक .dll फ़ाइलों के लिंक बनाए जाते हैं। यदि एक स्थिर लिंक(Static link) बनाया जाता है, तो .dll फाइलें तब तक उपयोग में रहेंगी जब तक प्रोग्राम सक्रिय(Active) है। यदि एक डायनेमिक लिंक बनाया जाता है, तो .dll फाइलें केवल तब उपयोग की जाएंगी जब जरूरत होगी। डायनेमिक लिंक प्रोग्राम्स संसाधनों(Resources) का अधिक कुशलता से उपयोग करने में मदद करते हैं, जैसे कि मेमोरी और हार्ड ड्राइव स्पेस।

DLL फ़ाइलों का उपयोग एक से अधिक प्रोग्राम द्वारा भी किया जा सकता है। वास्तव में, वे एक ही समय में कई प्रोग्राम द्वारा भी उपयोग किए जा सकते हैं। कुछ DLL विंडोज ऑपरेटिंग सिस्टम के साथ आते हैं जबकि अन्य नए प्रोग्राम इंस्टॉल होने पर जोड़े जाते हैं। आप आम तौर पर एक .dll फ़ाइल को सीधे नहीं खोलना चाहते हैं, क्योंकि जो प्रोग्राम इसका उपयोग करता है वह ज़रूरत पड़ने पर स्वचालित(Automatic) रूप से इसे लोड करेगा। हालांकि DLL फ़ाइलनामों को ".Dll," में समाप्त कर देता है, लेकिन वे चीजों को और अधिक भ्रमित(Confused) करने के लिए .exe, .drv और .fon में भी समाप्त कर सकते हैं। Dynamic routing क्या है? हिंदी में

परिभाषा - डायनामिक लिंक लाइब्रेरी (DLL) क्या है? हिंदी में [Definition - What is Dynamic Link Library (DLL)? in Hindi]

डायनामिक लिंक लाइब्रेरी (DLL) एक साझा प्रोग्राम मॉड्यूल(Shared Program Module) है जिसमें ऑर्डर किए गए code, methods, functions, enums और संरचनाएं(Structures) होती हैं जिन्हें Dynamic रूप से रन टाइम के दौरान एक Execution program द्वारा Called किया जा सकता है। एक DLL में आमतौर पर .dll में एक फाइल एक्सटेंशन होता है। अन्य फ़ाइल एक्सटेंशन .drv और .ocx हैं

परिभाषा - डायनामिक लिंक लाइब्रेरी (DLL) क्या है? हिंदी में

DLL को Microsoft द्वारा विकसित(Develop) किया गया था और यह केवल विंडोज ऑपरेटिंग सिस्टम (OS) के साथ काम करता है।

DLL परिभाषित फ़ंक्शन प्रकार इस प्रकार हैं:

  • Exported: किसी अन्य मॉड्यूल द्वारा, साथ ही साथ उनके परिभाषित DLL से भी Called किया जा सकता है
  • Internal: केवल उनके परिभाषित DLL से Called किया जा सकता है

डायनामिक लिंकिंग के प्रकार [Types of dynamic linking? in Hindi]

DLL में फ़ंक्शन को कॉल करने के दो तरीके हैं:
  • लोड-टाइम डायनेमिक लिंकिंग में, एक मॉड्यूल निर्यात किए गए DLL फ़ंक्शन के लिए स्पष्ट कॉल करता है जैसे कि वे स्थानीय फ़ंक्शन(Local function) थे। इससे आपको DLL के फ़ंक्शन के साथ मॉड्यूल को फ़ंक्शन से जोड़ना पड़ता है। एक Import library DLL को लोड करने के लिए आवश्यक जानकारी के साथ सिस्टम की आपूर्ति करती है और एप्लिकेशन लोड होने पर निर्यात किए गए DLL फ़ंक्शन का पता लगाती है।
  • रन-टाइम डायनेमिक लिंकिंग में, एक मॉड्यूल लोड समय पर DLL को लोड करने के लिए LoadLibrary या LoadLibraryEx फ़ंक्शन का उपयोग करता है। DLL लोड होने के बाद, Export किए गए DLL फ़ंक्शन के Address received करने के लिए मॉड्यूल GetProcAddress फ़ंक्शन को कॉल करता है। मॉड्यूल GetProcAddress द्वारा दिए गए फ़ंक्शन पॉइंटर्स का उपयोग करके निर्यात किए गए DLL फ़ंक्शन को कॉल करता है। यह एक Import library की आवश्यकता को समाप्त करता है। Dynamic Structured Query Language क्या है? हिंदी में

डायनामिक लिंकिंग के लाभ [What is Advantages of Dynamic Linking? in Hindi]

डायनामिक लिंकिंग में स्थैतिक लिंकिंग के निम्नलिखित फायदे हैं:
  • एक ही Base address पर एक ही DLL को लोड करने वाली कई प्रक्रियाएँ DLL की physical memory में Single copy share करती हैं। ऐसा करने से सिस्टम मेमोरी बचती है और स्वैपिंग कम हो जाती है।
  • जब DLL में फ़ंक्शन बदलते हैं, तो उनका उपयोग करने वाले Applications को तब तक recompiled या relinked करने की आवश्यकता नहीं होती है जब तक कि फ़ंक्शन तर्क, कॉलिंग कन्वेंशन, और Return value नहीं बदलते हैं। इसके विपरीत, सांख्यिकीय रूप से लिंक किए गए ऑब्जेक्ट कोड के लिए यह आवश्यक है कि फ़ंक्शन के बदलने पर एप्लिकेशन को स्थानांतरित(Moved) कर दिया जाए।
  • एक DLL after-market Support प्रदान कर सकता है। उदाहरण के लिए, एक डिस्प्ले ड्राइवर DLL को एक डिस्प्ले का Support करने के लिए संशोधित(Modified) किया जा सकता है जो तब उपलब्ध नहीं था जब एप्लिकेशन शुरू में शिप(Shipped) किया गया था।
  • विभिन्न प्रोग्रामिंग भाषाओं में लिखे गए प्रोग्राम उसी DLL फ़ंक्शन को कॉल कर सकते हैं जब तक कि प्रोग्राम उसी कॉलिंग कन्वेंशन का पालन करते हैं जो फ़ंक्शन का उपयोग करता है। कॉलिंग कन्वेंशन (जैसे सी, पास्कल, या मानक कॉल) उस आदेश(Order) को नियंत्रित करता है जिसमें कॉलिंग फ़ंक्शन को स्टैक पर तर्कों को धक्का(Push) देना चाहिए, चाहे फ़ंक्शन या कॉलिंग फ़ंक्शन स्टैक की सफाई(Cleaning up) के लिए ज़िम्मेदार हो। Dynamic URL क्या है? हिंदी में Dynamic URL क्या है? हिंदी में
DLL का उपयोग करने के लिए एक संभावित नुकसान यह है कि Application self-contained नहीं है; यह एक अलग DLL मॉड्यूल के अस्तित्व पर निर्भर करता है। सिस्टम लोड-टाइम डायनेमिक लिंकिंग का उपयोग करके प्रक्रियाओं को समाप्त करता है यदि उन्हें एक DLL की आवश्यकता होती है जो प्रक्रिया स्टार्टअप पर नहीं मिलती है और उपयोगकर्ता को एक त्रुटि संदेश देती है। सिस्टम इस स्थिति में रन-टाइम डायनेमिक लिंकिंग का उपयोग करते हुए एक प्रक्रिया(Process) को समाप्त नहीं करता है, लेकिन लापता(Lost) DLL द्वारा export किए गए फ़ंक्शन प्रोग्राम के लिए उपलब्ध नहीं हैं।
Reactions:

Post a comment

Blogger

Your Comment Will be Show after Approval , Thanks

Sponsorship Ad

 
[X]

Subscribe for our all latest News and Updates

Enter your email address: