نطاقات
المتغيرات
أفعال

توجيهات المترجم (المعالجات التمهيدية)

من cppreference.com
< cpp
 

المعالجات التمهيدية هي عمليات وأوامر تتم قبل عملية الترجمة , وينتج عنها ملف يتم تمريره الى المترجم , والفائدة منها أنك أحيانا تريد أن تنفذ كود معين في عملية تنقيح البرنامج فقط ولاتريد أن ينفذ في البرنامج عند نشره وتحزيمه , أيضا يمكنك فعل ذلك إذا أردت تنفيذ ذلك الكود في منصة دون منصة أخرى مثلا تريد أن يعمل تحت منصة windows دون منصة Linux لأسباب تكون خاصة بالمنصة التي تستخدمها .

التوجيهات :

هي عمليات تتحكم بالمعالجات التمهيدية (التي تقوم بالقراءة الأولية للكود الخاص فيك) وكل توجيهة تكتب في سطر وحيد ولايكتب بعدها الفاصلة المنقوطة (;) .

القاعدة :
  • ‎#‎ التوجيهة .
// #direct 
//------------
// #التوجيه


ملاحظات :
  • التوجيهات هي واحدة من هؤلاء : ‎define‎, ‎undef‎, ‎include‎, ‎if‎, ‎ifdef‎, ‎ifndef‎, ‎else‎, ‎elif‎, ‎endif‎, ‎line‎, ‎error‎, ‎warning‎, ‎pragma‎
  • المعاملات : على حسب التوجيهة فالتوجيه include# لها المعاملات <> والتوجيه if# لها معاملات الشرطية مثل == != > < >= <= .
#include <iostream>

#define MAX 100

#if MAX == 100
    std::cout << MAX;
#endif


الاستخدامات :

  • توجيهات التضمين تضمين ملف header في ملف المصدر باستخدام التوجيهة ‎include#‎.
  • warning توليد رسالة تحذير باستخدام التوجيهة التالية ‎warning#‎ .
  • توجيهات الأخطاء توليد رسالة خطأ باستخدام التوجيهة التالية ‎error#‎ .