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