مكتبة الربط الديناميكي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

مكتبة الربط الديناميكي (بالإنجليزية: Dynamic-link library أو DLL)‏ هو مفهوم المكتبة المشتركة في نظام مايكروسوفت ويندوز وأو إس/2.[1][2][3] تستخدم المكتبة غالبا نسق .DLL و.OCX للمكتبات المحتوية على آكتيف إكس أو .DRV للمكتبات المحتوية على برنامج تعريف أجهزة النظام. من أمثلة المكتبات مكتبات الأيقونات ومكتبات الخطوط.

نبذة قصيرة عن مكتبة الربط الدينياميكية[عدل]

مكتبة الربط الديناميكي هي عبارة عن مجموعة من البرامج الصغيرة يتم استدعائها عند الحاجة إليها من البرامج الكبيرة أو برامج التنفيذية عند عملها، وملف مكتبة الربط الديناميكي يجعل البرنامج التنفيذي يتصل بأداة معينة مثل الطابعة وغيرها من الادوات، أو قد يحتوي على مجموعة من الرموز (Codes) من اجل أداء أمر معين. فعند حاجة الملف التنفيذي لملف مكتبة الربط الديناميكي فانه يقوم باستدعائه واستخدام الأمر المناسب له من بين مجموعة الأوامر التي فيه.

مثال على ذلك: برنامج تنفيذي بحاجة إلى مكان فارغ بالقرص الصلب، يقوم هذا البرنامج باستدعاء ملف مكتبة الربط الديناميكي الذي يحتوي على الأامر اللازمة لذلك، فيقوم ملف مكتبة الربط الديناميكي بأخبار البرنامج التنفيذي عن المكان الفارغ، وهذا يجعل البرنامج التنفيذي اقل حجما ودون الحاجة إلى كتابة الامر المتواجد. وبالتالي لن تحتاج جميع البرامج كتابة الاوامر التي تحتوي على معلومات عن الأماكن الفارغة، وهذا ما يوفره ملف مكتبة الربط الديناميكي المختص بذلك.

الخصائص والمميزات[عدل]

التقليل من مساحة الرام المستخدمة[عدل]

أحد ميزات ملفات مكتبة الربط الديناميكي أو بالاحرى فائدتها هي عدم الحاجة إلى تخزينها في ذاكرة الوصول العشوائي (رام) مع البرنامج التنفيذي الذي يعمل، وبالتالي توفير المساحة في الرام، مثلا عند العمل على معالج النصوص وورد والرغبة في طباعة النص على الطابعة، فانه يتم استدعاء ملف مكتبة الربط الديناميكي الخاص بالطابعة دون الحاجة إلى تخزينه في الرام مع البرنامج التنفيذي، ويتم استخدام الأوامر الموجودة به مسبقا لطباعة النص.

إدارة الذاكرة[عدل]

ملفات مكتبة الربط الديناميكي مصنفة إلى قطاعات، وكل قطاع يحتوي على الصفات الخاصة فيه، مثل قابل للكتابة أو للقراءة فقط، تنفيذي أو غير تنفيذي. والرموز (Codes) في ملفات مكتبة الربط الديناميكي يتم استخدامه من قبل أكثر من برنامج تنفيذي واحد وبالتالي توجد في مكان واحد في قطاع محدد بالقرص الصلب. ولا داعي لوجودها في أكثر من مكان لأكثر من برنامج وبالتالي يكون من السهل الوصول اليه.

استيراد المكتبات[عدل]

ملف مكتبة الربط الديناميكي يحتوي على عنوان استيراد خاص به، وحين حاجة ملف تنفيذي إلى هذا الملف فانه يقوم بطلب هذا العنوان لاستدعائه. حيث يوجد جدول للعنوانين خاص لملفات مكتبة الربط الديناميكي يتم الحصول منهاعلى العنواين واستدعاء الملفات المطلوبة.

ملفات مكتبة الربط الديناميكي هي ملفات تنفيذية صغيرة لا يمكن ان تعمل وحدها، وتعمل فقط من خلال برنامج تنفيذي كبير، مثل عمل سيارة بمحرك، فلا يمكن عمل السيارة دون المحرك.

الأخطاء المحتملة عند استدعائها برمجيا[عدل]

و حين حدوث استدعاء بطريقة خاطئة، سوف يظهر خطأ GPF(General Protection Fault)(خطأ حماية عام). سبب هذا الخطأ قد يكون خلل في عملية الاستدعاء، أو عدم وجود الاوامر المطلوبة في ملف مكتبة الربط الديناميكي المستدعى، أو عدم وجود الملف اصلا، أو أن الملف المستدعى لا يتفق مع نظام التشغيل الموجود.

و قد يظهر الخطأ خلال عملك على الويندوز، أو عند تشغيلك لبرنامج أو لعبة على الكمبيوتر، وتحتوي نافذة الخطأ على اسم ملف مكتبة الربط الديناميكي ومعلومات عن الخلل الذي حدث.

مراجع[عدل]

  1. ^ Petrusha, Ron (2005-04-26). "Creating a Windows DLL with Visual Basic". O'Reilly Media. مؤرشف من الأصل في 20 يونيو 2017. اطلع عليه بتاريخ 11 يوليو 2009. الوسيط |CitationClass= تم تجاهله (مساعدة)
  2. ^ "Linker Support for Delay-Loaded DLLs". Microsoft Corporation. مؤرشف من الأصل في 04 يوليو 2017. اطلع عليه بتاريخ 11 يوليو 2009. الوسيط |CitationClass= تم تجاهله (مساعدة); تحقق من التاريخ في: |تاريخ أرشيف= (مساعدة)
  3. ^ MSDN, Using extern to Specify Linkage نسخة محفوظة 04 أكتوبر 2017 على موقع واي باك مشين.

وصلات خارجية[عدل]