ملفات الـ DLL وهي اختصار لـDynamic Link Library (مكتبة الربط الديناميكي)، و ما هي فائدتها داخل النظام والبرامج، و في حال فقدان احدها او عدم وجودها بالنظام كيفية الحصول عليها؟
- تعريف ملفاتDLL
DLL - Dynamic Link Library هي عبارة عن مجموعة من البرامج الصغيرة (Small Programs) يتم استدعائها عند الحاجة اليها من البرامج الكبيرة او برامج التنفيذية EXE - Executable عند عملها ، و ملف الـ DLL يجعل البرنامج التنفيذي يتصل باداة معينة (Device) مثل الطابعة Printer و غيرها من الادوات ، او قد يحتوي على مجموعة من الرموز (Codes) من اجل اداء امر معين. فعند حاجة الملف التنفيذي لملف الـ DLL فانه يقوم باستدعائه و استخدام الامر المناسب له من بين مجموعة الاوامر التي فيه.
مثال على ذلك برنامج تنفيذي بحاجة الى مكان فارغ بالقرص الصلب (HardDisk)، يقوم هذا البرنامج باستدعاء ملف الـ DLL الذي يحتوي على الاوامر اللازمة لذلك، فيقوم ملف الـ DLL باخبار البرنامج التنفيذي عن المكان الفارغ، و هذا يجعل البرنامج التنفيذي اقل حجما و دون الحاجة الى كتابة الامر الذي اصلا موجود. و بالتالي لن تحتاج جميع البرامج كتابة الاوامر التي تحتوي على معلومات عن الاماكن الفارغة، و هذا ما يوفره ملف الـ DLL المختص بذلك.
فوائدها و خصائصها
1- التقليل من مساحة الـ RAM المستخدمة: احد ميزات ملفات الـ DLL او بالاحرى فائدتها، هي عدم الحاجة الى تخزينها في ذاكرة الدخول العشاوئي (Random Access Memory) مع البرنامج التنفيذي الذي يعمل ، و بالتالي توفير المساحة في الـ RAM ، مثلا عند عمل على معالج النصوص وورد (Microsoft Word) وارادة طباعة النص على الطابعة Printer ، فانه يتم استدعاء ملف الـDLL الخاص بالطابعة Printer دون الحاجة الى تخزينه بالـ RAM مع البرنامج التنفيذي ، و يتم استخدام الاوامر التي فيه لطباعة النص.
2- ادارة الذاكرة: فملفات الــ DLL مصنفة الى قطاعات، و كل قطاع يحتوي على الصفات الخاصة فيه، مثل قابل للكتابة (Writable) او فقط للقراءة (Read-Only)، قابل للتنفيذ (Executable) او غير قابل للتنفيذ (Non-Executable).و الرموز(Codes) في ملفات الـ DLL يتم استخدامها باكثر من برنامج تنفيذي واحد، وبالتالي يتم وجوده في مكان واحد في قطاع محدد يالقرص الصلب. و لا داعي لوجوده في اكثر من مكان لاكثر من برنامج و بالتالي سهولة الوصول اليه.
3- استيراد المكتبات: فكل ملف DLL يحتوي على عنوان استيراد (Import Address) خاص به، فحين حاجة ملف تنفيذي الى هذا الملف فانه يقوم بطلب هذا العنوان لاستدعاء الملف. حيث يوجد جدول للعنوانين خاص لملفات الــ DLL يتم الحصول على العنواين منه و استدعاء الملفات المطلوبة.
الاخطاء
حين حدوث استدعاء بطريقة خاطئة ، سوف يظهر خطأ GPF-General Protection Fault (خطأ حماية عام). فان سبب هذا الخطأ قد يكون خلل في عملية الاستدعاء او عدم وجود الاوامر المطلوبة في الملف الـ DLL المستدعى او عدم وجود الملف اصلا او ان الملف المستدعى لا يتفق مع نظام التشغيل(Operating System) الموجود.
و قد يظهر الخطأ خلال عملك على الويندوز او عند تشغيلك لبرنامج او لعبة على الكمبيوتر، و تحتوي نافذة الخطأ على اسم ملف الـ DLL و معلومات عن الخلل الذي حدث، و هذا مثال على خطأ.حيث انه هذا الخطأ يقول ان برنامج Real Player لم يقبل ان يعمل لان الملف MSSVCR71.dll
لم يتم العثور عليه، اعادة تحميل البرنامج قد يحل الامر.اذا تم اعادة التحميل و لم يحل الامر هذا معناه انه الملف MSSVCR71.dll غير موجود، و بالتالي لن يستطيع البرنامج استدعاء الملف و الحصول على الامر اللازم له.
مثل هذا الخطأ يظهر اكثر شيء عند محاولة تشغيل العاب Games الكمبيوتر التي تستخدم الــ DirectX، و ظهوره يجعل
المستخدم يعتقد بان اللعبة تالفة و يستسلم، لكن الحل موجود و هو فقط تحميل هذا الملف الناقص.