كيفية إصلاح أخطاء DLL

بمجرد ظهور نافذة خطأ في النظام أمامك وتذكر ملف DLL مفقودًا ، يطرح السؤال فورًا: ما هو ملف DLL؟ لماذا هم بحاجة؟

ملفات DLL هي مكتبات ديناميكية غالبًا ما تستدعيها التطبيقات عند تشغيلها. تعد ملفات DLL عنصرًا أساسيًا من حيث تقليل دقة التعليمات البرمجية وتحسين الأداء العام.

غالبًا ما تواجه أجهزة الكمبيوتر الشخصية التي تعمل بأنظمة Windows أخطاء في ملف DLL مما يؤدي إلى عدم القدرة على تشغيل بعض البرامج. تظهر رسائل خطأ تفيد بوجود ملف DLL محدد مفقود. تم حل المشكلة لأنك تحتاج إلى العثور على هذا الملف المحدد على الإنترنت حتى يبدأ البرنامج في العمل.

كل شيء عن ملفات DLL

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

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

ملفات DLL في الأشكال القديمة من Windows

الإصدارات القديمة من Windows ، حيث احتلت كل عملية قيد التشغيل مساحة واحدة واسعة لحل المشكلات ، احتاجت إلى نسخة واحدة فقط من رمز DLL لجميع الوظائف لتعمل بشكل صحيح.

افترض أن البرامج المحددة أو مجموعات البرامج من مكتبات DLL التي تم تنزيلها لا تحتوي على هذه العناوين مجانًا. سيكون من الضروري بعد ذلك عمل نسخة إضافية من كود DLL ، وتطبيق مجموعة فريدة من معاملات الإدخال القابلة لإعادة التوطين. عند الحاجة إلى استعادة الذاكرة الفعلية ، يجب إجراء إعادة التعيين في قسم الكود المشغول ومحتوياته وعمليات إعادة التحميل السريعة من ملف DLL. سمحت فكرة معمارية مماثلة ، والتي سمحت لـ GDI بتحميل برامج تشغيل مختلفة تمامًا للأجهزة ، لـ Windows بتحميل حزم Windows الأخرى ولهذه البرامج لاستدعاء واجهات برمجة التطبيقات من مكتبات USER و GDI المشتركة.

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

بعض الطرق المثبتة لإصلاح أخطاء DLL:

  • استخدم أداة حماية موارد Windows أو مدقق ملفات النظام (SFC).
  • قم بتنزيل ملفات DLL المفقودة أو التالفة وضعها في مجلد النظام
  • تحديث Microsoft Visual C ++ Redistributable.
  • تحديث Microsoft .NET Framework.
  • أعد تثبيت التطبيق المشكل.
  • اطلب نسخة من ملفات DLL من الشركة المصنعة للتطبيق.

بعض المزيد من معلومات ملفات DLL

يتم تحميل الملفات التنفيذية المقيدة في وقت أقرب إلى حد ما إذا تم تشغيلها في نفس الإعداد الذي تم تجميعها من أجله والوقت المحدد بالضبط إذا تم تشغيلها في محيط مختلف ، لذلك ليس هناك أي عيب لربط الواردات. بالمناسبة ، يتم إرفاق جميع أغراض Windows المعتادة بنظام DLLs \ 'الخاص بإطلاق Windows الخاص بهم.

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

بينما تنتهي معظم مكتبات الارتباط الديناميكي بامتداد الملف .DLL ، قد يستخدم البعض الآخر .OCX أو .CPL أو .DRV. إذا ضغطت حزم معينة قابلة للتنفيذ ملف DLL (على سبيل المثال ، UPX) ، فسيتم تمييز جميع أقسام التعليمات البرمجية الخاصة بها على أنها مقروءة وكتابة وقد تكون غير مشتركة. تعد أقسام التعليمات البرمجية الخاصة بالقراءة والكتابة ، تمامًا مثل أقسام المعرفة غير العامة ، شخصية لكل عملية.

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