ملفات 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.
التعليقات