ما قبل المعالج</SPAN>
PREPROCESSOR
ما قبل المعالج preprocessorهو جزءلا يتجزأمن مترجم لغة السى ووظيفته هو التعرف على وتنفيذتعليمات تسمى توجيهات أو أوامر ما قبل المعالج.
تعليمات ما قبل المعالج هي</SPAN>تعليمات خاصةلا تنتمي إلىلغة السى ،</SPAN>ولكنها جزء</SPAN>منحزمةالبرمجيات software التى تأتى مع المترجم .
يبدأ كل أمر من أوامر ما قبل المعالج بالرمز "هاش" '#'.</SPAN>
قبل</SPAN> ترجمة البرنامج يقوم المترجم بتفعيل الجزء "ما قبل المعالج" والذييمر خلال البرنامج في</SPAN>بحثعنهذه العلامات.فإذا وجد أى منها يقوم "ما قبل المعالج" ببساطة باستبدالها بنص آخر والذى يعتمد على نوعالأمر الموجود بعد الرمز # ، حيث يمكن</SPAN>أن يكونمحتوياتملفأومجردسلسلة قصيرةمن الأحرف.عندئذ يمكن أن تبدأ</SPAN>عملية الترجمة .
تعليمات ما قبل المعالج</SPAN> يمكن أن تكون في أي مكانفي البرنامج المصدر،وتشير فقطإلىالجزءمنالبرنامج التاليلظهورها وحتىنهاية البرنامج</SPAN>.
توجيه ما قبل المعالج</SPAN>
# include " ضم أو تضمين"
فى العديد من البرامج غالبا ما يتم تكرارنفس المجموعةمنالأوامرلعدة مرات.
من أجلتسريععملية كتابةالبرنامج عادة مايتم تجميعهذهالأوامرcommandsوالإعلاناتdeclarations فيملفاتخاصة والتييمكن ضمها أو دمجها بسهولةفيالبرنامج باستخدامهذاالتوجيه.
لنكون أكثر دقة ،الأمر</SPAN>#include يستورد imports نصمن وثيقة أخرى بغض النظر عنما هو عليه(أوامر وتعليقات الخ) إلى البرنامج</SPAN>.
توجيه ما قبل المعالج # define " تعريف "
هذا الأمر يقوم باستبدال تعريفاتidentifiers فى البرنامج بقيمها values .
الصيغة :
#define symbol sequence_of_characters
شرح الصيغة :
التوجيه أو الأمر #define يليه الرمز المراد تعريفه , ثم يليه قيمة هذا الرمز والتى يتم استبدال الرمز أينما وجد بهذه القيمة .
مثال :
...
#define PI 3.14
...
أينما وجد الرمز PI يتم استبدالة بالقيمة 3.14 .