जब एक डीएलएल मुख्य कार्यक्रम से जुड़ा होता है, केवल इंटरफ़ेस, यानी कक्षाएं, कार्य आदि। यह निर्यात उनके हस्ताक्षर से जुड़े होते हैं। डीएलएल के अंदर वास्तविक मशीन कोड केवल रनटाइम पर लोड होता है, संकलन समय पर नहीं; यही कारण है कि आप अपने ऐप को केवल डीएलएल के lib के साथ बना सकते हैं, और वास्तविक डीएलएल डाल सकते हैं जहां आप इसे चाहते हैं (उदाहरण के लिए कुछ साझा डीएलएल फ़ोल्डर या जो भी हो)।
फिर आप इस डीएलएल को उसी इंटरफेस के साथ किसी अन्य डीएलएल के साथ स्वैप कर सकते हैं। इस प्रकार प्लगइन-सिस्टम आमतौर पर काम करते हैं, क्योंकि प्रत्येक प्लगइन बस एक डीएलएल होता है जो एक दस्तावेज पूर्व परिभाषित इंटरफ़ेस के अनुरूप होता है, और प्रोग्राम कुछ इंटरफ़ेस के सभी डीएलएल लोड करता है जो इसे "प्लगइन्स" निर्देशिका में पाता है।
क) स्थिर जोड़ने के लिए libs:
हिस्सा यहाँ (संभवतः) भ्रमित वहाँ प्रभावी रूप से उदारीकरण फ़ाइलों के दो प्रकार हैं कि है। ये अपने सभी संकलित कोड को सीधे मुख्य ऐप में डाल देते हैं, और परिणामी .exe फ़ाइल का एक निश्चित हिस्सा हैं।
बी) गतिशील लिंकिंग के लिए libs।इनमें वास्तविक कोड वाले डीएलएल के लिए एक इंटरफेस होता है, जो केवल ऐप के लिए रनटाइम पर उपलब्ध होना चाहिए (और यदि यह नहीं है, तो यह शुरू नहीं होगा, और बस आपको बताएगा कि कौन सी डीएलएल नहीं मिल सका)।
बीटीडब्ल्यू: आपको यह निर्दिष्ट करने की ज़रूरत नहीं है कि आप किस लिब से लिंक करते हैं, यह किस प्रकार है, यह स्वचालित रूप से करता है।
इसके अलावा: कुछ अनुप्रयोग कुछ बाहरी वातावरण के अंदर चलाने के लिए डीएलएल के रूप में बनाए जाते हैं। उदाहरण के लिए, वेबसाइटों को एक विशिष्ट इंटरफ़ेस के साथ डीएलएल के रूप में कार्यान्वित किया जाता है, जो को अपाचे/आईआईएसएपीआई/जो भी सर्वर द्वारा चलाया जा रहा है। यह उपर्युक्त प्लगइन-सिस्टम के समान ही काम करता है, लेकिन यहां प्रत्येक डीएलएल प्रभावी ढंग से एप्लिकेशन है।
'objdump -x somefile.dll> dllinfo.txt' को आजमाएं और DLL –
की गड़बड़ी की जांच करने के लिए dllinfo.txt पढ़ें I इस तरह "हैकिंग" के बारे में चिंता नहीं करेंगे - आप बस निष्पादन योग्य को आसानी से बदल सकते हैं एक डीएलएल की जगह के रूप में। किसी भी तरह से, आपको मशीन पर मनमानी कोड की प्रतिलिपि बनाने की अनुमति की आवश्यकता है और उपयोगकर्ता इसे चलाता है। बहुत यकीन है कि एमएस ने पहले से ही इस बारे में सोचा है :) – Peter
यदि आपको लगता है कि कोड को चलाने वाले व्यक्ति द्वारा कोड को बदला जा सकता है, तो आप बेहतर ढंग से अपने सभी कोड को ठीक कर देंगे, जिनकी सुरक्षा उस धारणा पर निर्भर करती है ... –