اقتراح بشأن طريقة تحميل المكتبات والملفات المصدرية

اقترح علي أحد الإخوة تغيير طريقة تحميل المكتبات والملفات المصدرية لتكون بدون تحديد الامتداد. أي تكون كالتالي:

import "gtk"

فعندها يبحث أولا عن ملف gtk.alusus فإن لم يجد يبحث عن مكتبة باسم libgtk.so وهكذا. أي، نريح المستخدم من كتابة الامتداد وفي نفس الوقت نسهل دعم الأنظمة المختلفة في حالة تحميل مكتبات النظام بما أن أسماء المكتبات مختلفة بين لينكس وماك او اس وويندوز.

ما رأيكم؟

1 Like

الاقتراح جميل للاستغناء من استخدام امتداد .alusus
لكن لا اتوقع ان اغلب المكتبات التنفيذيه تحمل البادئه lib
الافضل يبحث عن gtk ان لم يجدها يبحث عن gtk.so
حيث ان احتاج البرمج لمكتبة libgtk يكتب
import “libgtk”;
سيجعل مترجم الاسس يبحث عن ملف libgtk.alusus ان لم يجده يبحث عن libgtk.so

المشكلة أن نظام ويندوز لا يعتمد بادئة lib. أي أن نفس المكتبة في لينكس وماك تحمل بادئة lib وفي يوندوز لا تحملها.

يسخدم if condition او اضافة نوح جديد

import "libgtk" else import "gtk";

طبعا else statement

import "libgtk" else {
    import "gtk";
};

لان وبندوز كما تعلم لديه فلسفة مختلفة عن *unix
بالاضافة الى اضافة النحو ستكون مفيده جدا للتحقق من الاخطاء واظهارها لمستخدم البرنامج

@sarmad لم تخبرني مارأيك؟

أعتذر، انشغلت ولم أستطع الرد. لا زلت أفكر بكل الاحتمالات. فكرتك من حيث المبدأ جيدة لكني أفضل تبسيط النحو إلى شيء كهذا:

import "libgtk.so" || "libgtk.dylib";

أو شيء من هذا القبيل.

الامر نفسه or او || ستعمل بذلك :+1:

تم الأمر

شكرا لك :+1:
شاهدته قبل قليل