1. برمجة
6

ما الفرق بين .lib و .h و dll في c++ ?

  • حذف بواسطة المستخدم
  • cpp_programmer
  • 2017-09-17T14:44:38+00:00
  • رابط مختصر

التعليقات

عرض جميع التعليقات
0
muhammad2
  • 2017-09-18T03:26:16+00:00
  • أضف ردا
    • رابط مختصر

ملفات h. عادةََ ما تحتوي على تعاريف المواد المستخدمة في ملفات c. أو cpp. ، و هي الملفات التي تستعملها في الجملة

" include "anExample.h#

ملفات lib. تؤدي نفس الغرض، و حسب خبرتي ملفات h. و cpp. مستعملة أكثر،

المشكلة في هذه الملفات أنها لابد أن تتضمن مع برنامجك عند التصدير باستعمال linker ، فإذا كانت المكتبة التي تستعملها كبيرة أو ثقيلة الحجم فسينعكس هذا سلباً على برنامجك، كما أن هناك مشكلة في عدم توافر مصدر كود الكثير من المكاتب ( ملفات .h , cpp.) خاصة إن كانت غير مفتوحة المصدر.

لحل هذه المشاكل جاءت فكرة المكاتب الديناميكية Dynamic Libraries (على عكس ملفات lib. cpp. h. و التي تسمى Static Libraries) . هذه المكاتب عبارة عن ملفات مجمعة (compiled files) مثلها مثل .exe ، تقوم بتحميلها على جهاز المستخدم (مثلاً توزيعة .net) و يقوم برنامجك بالارتباط بها و استعمالها من دون إعادة تحميلها وقت التجميع،

المشكلة في مثل هذه الملفات، أنك كمبرمج لاتستطيع ضمان أن جهاز المستخدم يحتوي على المكاتب المناسبة لبرنامجك، مثال مشهور جداً هي توزيعة ال net. و التي لابد أن تحميلها من مايكروسوفت قبل تحميل عدة برامج مثل Matlab أو Photoshop، و المشكلة الأخرى أنها تعتمد بشكل مباشر على نظام التشغيل، فهذه الملفات تلحق ب dll. في نظام ويندوز، بينما أنظمة لينكس تعتمد على التسمية الملحقة بـ so.

1
مجهول
  • حذف بواسطة المستخدم
  • 2017-09-18T04:00:20+00:00
    • رابط مختصر
1
muhammad2
  • 2017-09-18T04:10:56+00:00
  • أضف ردا
    • رابط مختصر

1) لا يمكنك استعمال ملفات exe و dll بشكل مباشر على اللينكس، لابد من ترجمة لهذه الملفات بطريقة أو بأخرى ( ليس لي خبرة بهذا الموضوع لكن بحث سريع على جوجل يؤكد أن المشكلة لها حلول مختلفة)

2) عندما تقوم بتجميع البرنامج و استصداره فأنت تقوم بتحويل كل ملفات h , lib , cpp إلى ملف واحد مشفر (bin files) و بهذا تقوم بإخفاء كل السورس كود ببرنامجك،

3) لا، خاصية هذه الملفات (static libraries) أنها تتجمع في مرحلة (linkage) إلى ملف واحد مشفر (bin file) يحتوي على الملفات المجمعة ، وبهذا يكون تحميل الملف الناتج .exe كاف

1
Khalida Ahmad Baba
  • 2017-09-19T14:31:34+00:00
  • أضف ردا
    • رابط مختصر

يوجد برنامج اسمه واين (Wine)يتم تثبيته على لينكس يسمع باستعمال ملفات exe و dll شخصيا لا افضل استعماله.

افضل برامج لينكس 100% (.deb ...)

برمجة

مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.

25.6 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

انسخ هذا الرابط:

تنبيه