توجيهات المترجم (المعالجات التمهيدية)
من 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#.