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

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

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

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

## الخصائص والمميزات
### التقليل من مساحة الرام المستخدمة

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

### إدارة الذاكرة

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

### استيراد المكتبات

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

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

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

## مراجع

* ↑ https://www.file-extension.org/extensions/dll. {{استشهاد ويب}}: |url= بحاجة لعنوان (مساعدة) والوسيط |title= غير موجود أو فارغ (من ويكي بيانات) (مساعدة)
* ↑ Petrusha، Ron (26 أبريل 2005). "Creating a Windows DLL with Visual Basic". O'Reilly Media. مؤرشف من الأصل في 2017-06-20. اطلع عليه بتاريخ 2009-07-11.
* ↑ "Linker Support for Delay-Loaded DLLs". Microsoft Corporation. مؤرشف من الأصل في 2017-07-04. اطلع عليه بتاريخ 2009-07-11.
* ↑ MSDN, Using extern to Specify Linkage نسخة محفوظة 04 أكتوبر 2017 على موقع واي باك مشين.

## وصلات خارجية

* مكتبات الربط الديناميكي: التطوير والاستخدام للكاتب بن العيد
* مكتبات الربط الديناميكي: تحميل الملفات مع الشرح
* بوابة علم الحاسوب
* بوابة مايكروسوفت