توجيهات المترجم (المعالجات التمهيدية)
من 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
[عدل] الاستخدامات :
- التوجيهات الشرطية : ترجمة جزءمن الملف مصدري باستخدام( if, #ifdef, #ifndef,#else, #elif , #endif).
- توجيهات الاستبدال: تغيير نص بقيمة باستخدام ( undef , # , ## , #define# )
- توجيهات التضمين تضمين ملف header في ملف المصدر باستخدام التوجيهة include#.
- warning توليد رسالة تحذير باستخدام التوجيهة التالية warning# .
- توجيهات الأخطاء توليد رسالة خطأ باستخدام التوجيهة التالية error# .