0Pricing
Zig Academy · درس

إضافة وحدة خارجية

اجلب حزمة خارجية واربطها

إضافة وحدة خارجية درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.

من manifest إلى الشيفرة

يُنزَّل الاعتماد المدرج في build.zig.zon، لكنه لا يصبح قابلًا للاستخدام بعد. يجب ربطه في build.zig للوصول إليه في الشيفرة. 🔌

الخطوة الأولى: zig fetch

ابدأ بإضافة الحزمة. يؤدي zig fetch مع --save إلى تنزيلها وتسجيل url وhash الخاصين بها في manifest تلقائيًا.

zig fetch --save https://example.com/mylib-1.0.0.tar.gz

البحث عنه في build.zig

في build.zig، استدعِ b.dependency باستخدام الاسم الموجود في manifest. ويعيد ذلك مقبضًا إلى الحزمة التي جرى جلبها.

const dep = b.dependency("mylib", .{});

الحصول على الوحدة

من ذلك المقبض، اطلب module مُسمّاة تتيحها الحزمة. ويوضح المؤلف اسم الوحدة التي ينبغي طلبها.

const mylib = dep.module("mylib");

إرفاقها بعملية البناء

اجعل الوحدة قابلة للاستيراد بإضافتها إلى الملف التنفيذي باستخدام addImport، مع اختيار الاسم الذي ستستخدمه في الشيفرة.

exe.root_module.addImport("mylib", mylib);

استخدم @import الآن

بعد إرفاقها، يتصرف الاسم مثل std. استخدم @import مع تلك السلسلة النصية في أي موضع من مصدرك لاستيراد المكتبة.

const mylib = @import("mylib");

استدعاء المكتبة

بعد ربط الاستيراد بـ const، يمكنك الوصول إلى دوالها وأنواعها التي تحمل pub تمامًا كما تفعل مع أي وحدة أخرى كتبتها.

const result = mylib.doThing(42);

تمرير خيارات البناء

يمرّر المعامل الثاني إلى b.dependency options مثل target وoptimize، لكي تُبنى التبعية بالإعدادات نفسها التي تستخدمها.

const dep = b.dependency("mylib", .{
    .target = target,
});

ربط مكتبة C أيضًا

توفّر بعض الحزم مكتبة static، لا وحدة فقط. ويمكنك استخدام linkLibrary للربط مع artifact الخاص بها عندما توفّره الحزمة.

exe.linkLibrary(dep.artifact("mylib"));

البناء والتشغيل

شغّل zig build أخيرًا. يجلب Zig كل ما ينقص، ويُجمّع الاعتمادية، ويربطها ببرنامجك في أمر واحد.

zig build run

التحديث بإعادة الجلب

للانتقال إلى إصدار أحدث، شغّل zig fetch مرة أخرى باستخدام عنوان url الجديد. سيحدّث قيمة التجزئة بحيث يجلب البناء التالي الشيفرة المحدّثة.

zig fetch --save https://example.com/mylib-1.1.0.tar.gz

تحقّق سريع

تذكّر استدعاء build.zig الذي يجعل استيراد وحدة الاعتمادية ممكنًا.

مراجعة

ربطتَ اعتمادية من البداية إلى النهاية: zig fetch، ثم b.dependency وmodule وaddImport في build.zig، وأخيرًا @import في شيفرتك. 🎯

الأسئلة الشائعة

هل درس «إضافة وحدة خارجية» مجاني؟

نعم — نص درس «إضافة وحدة خارجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.

ماذا ستتعلم في «إضافة وحدة خارجية»؟

اجلب حزمة خارجية واربطها تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟

لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «إضافة وحدة خارجية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟

نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. استيراد الملفات باستخدام @import
  2. تنظيم مشروع متعدد الملفات
  3. ‏build.zig.zon ومدير الحزم
  4. إضافة وحدة خارجية
← العودة إلى Zig Academy