0Pricing
C++ Academy · درس

مرحبًا بالعالم وعملية البناء

اكتب Hello World وافهم مراحل المعالجة المسبقة والترجمة والتجميع والربط

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

أبسط برنامج C++

يبدأ كل برنامج C++ بـ main(). تستدعي بيئة التشغيل main أولًا، وينتهي البرنامج عندما تعود.

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

وظيفة #include

تُعالج توجيهة #include بواسطة المعالج القبلي قبل الترجمة. وهي تلصق محتويات الترويسة نصيًا في الملف المصدر.

مساحة الاسم std

توجد أسماء المكتبة القياسية في مساحة الاسم std. نضع السابقة std:: قبلها، مثل std::cout. تجنّب using namespace std; في ملفات الترويسة — لأنه يلوّث مساحة الاسم العامة.

إدراج التدفق <<

يدرج المعامل << البيانات في تدفق الإخراج. اربطه لإخراج قيم متعددة ضمن تعبير واحد.

std::cout << "Name: " << name << ", Age: " << age << "\n";

endl مقابل \n

ينهي كلاهما السطر. يعمل std::endl أيضًا على تفريغ المخزن المؤقت — ما يجعله أبطأ في الحلقات الضيقة. فضّل "\n" للاستخدام العام.

عملية البناء: أربع مراحل

يمر بناء برنامج C++ بأربع مراحل:

  • المعالجة المسبقة — توسيع التضمينات ووحدات الماكرو
  • الترجمة — تحويل المصدر إلى لغة التجميع
  • التجميع — تحويل لغة التجميع إلى شفرة كائنية
  • الربط — دمج الملفات الكائنية في الملف التنفيذي النهائي

ترجمة Hello World

من الطرفية، احفظ الملف باسم hello.cpp وشغّل g++. يكون اسم الإخراج الافتراضي a.out؛ استخدم -o لاختيار اسمك الخاص.

g++ -std=c++20 hello.cpp -o hello
./hello

فحص كل مرحلة

يمكنك التوقف بعد أي مرحلة باستخدام خيار:

  • -E — المعالجة المسبقة فقط
  • -S — الترجمة إلى لغة التجميع
  • -c — الترجمة والتجميع دون الربط

الملفات الكائنية والربط

تصبح كل وحدة ترجمة (ملف .cpp) ملفًا كائنيًا (.o أو .obj). يجمع الرابط الملفات الكائنية ويحل المراجع الخارجية لإنتاج الملف التنفيذي.

ملفات الترويسة ودورها

تصرّح ملفات الترويسة (.h أو .hpp) بالدوال والفئات. وتعرّفها الملفات المصدرية (.cpp). يؤدي تضمين ترويسة إلى جلب التصريحات إلى وحدة الترجمة.

الأخطاء الأولى الشائعة

إذا لم يُترجم برنامجك، فتحقق مما يلي:

  • فقدان الفاصلة المنقوطة في نهاية العبارة
  • نسيان #include <iostream>
  • عدم تطابق { و}
  • استخدام حالة أحرف خاطئة — C++ حساسة لحالة الأحرف

تحقق سريع

أي مرحلة من مراحل البناء تدمج الملفات الكائنية في الملف التنفيذي النهائي؟

خلاصة

يحتوي كل برنامج C++ على دالة main(). ينفّذ المترجم مراحل المعالجة المسبقة والترجمة والتجميع والربط. استخدم std::cout مع << للإخراج، وفضّل "\n" على std::endl.

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

هل درس «مرحبًا بالعالم وعملية البناء» مجاني؟

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

ماذا ستتعلم في «مرحبًا بالعالم وعملية البناء»؟

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

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

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

كم من الوقت يستغرق درس «مرحبًا بالعالم وعملية البناء»؟

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

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

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

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

  1. إعداد مترجم C++
  2. مرحبًا بالعالم وعملية البناء
  3. المتغيرات والاستدلال التلقائي على النوع وconstexpr
  4. المعاملات الأساسية والتحويل بين الأنواع
← العودة إلى C++ Academy