الفرق بين DLL و LIB

الفرق بين DLL و LIB
الفرق بين DLL و LIB

فيديو: الفرق بين DLL و LIB

فيديو: الفرق بين DLL و LIB
فيديو: الفرق بين معونة البطالة واحد و اثنان 2024, شهر نوفمبر
Anonim

DLL مقابل LIB

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

ما هو DLL؟

مكتبة الارتباط الديناميكي (المعروفة أكثر باسم DLL) هي تطبيق مكتبة مشترك تم تطويره بواسطة Microsoft.ويستخدم ملحقات.dll أو.ocx أو.drv ويتم استخدامها في أنظمة تشغيل Microsoft Windows و OS / 2. يتم استخدام.dll بواسطة ملفات DLL العادية. ويتم استخدام ملحق.ocx بواسطة المكتبات التي تحتوي على عناصر تحكم ActiveX ويستخدم ملحق.drv بواسطة ملفات برنامج تشغيل النظام القديم. تنسيق ملف DLL هو نفس ملفات Windows EXE (الملفات القابلة للتنفيذ المحمولة على Windows 32 بت / 64 بت ، والملفات القابلة للتنفيذ الجديدة على Windows 16 بت). لذلك ، يمكن احتواء أي مجموعة من التعليمات البرمجية والبيانات والموارد في ملفات DLL (تمامًا مثل ملفات EXE). كأمر واقع ، تسمى ملفات البيانات ذات تنسيق ملف DLLs مورد DLL. مكتبات الرموز (بملحق.icl) وملفات الخطوط (بملحق.fon و. fot) هي أمثلة على مكتبات DLL للموارد.

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

ما هو LIB؟

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

ما هو الفرق بين DLL و LIB؟

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

موصى به: