<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Preprocessor on P01NT</title><link>https://outofsrvc.github.io/ar/tags/preprocessor/</link><description>Recent content in Preprocessor on P01NT</description><generator>Hugo</generator><language>ar</language><lastBuildDate>Thu, 13 Aug 2026 10:00:00 +0300</lastBuildDate><atom:link href="https://outofsrvc.github.io/ar/tags/preprocessor/index.xml" rel="self" type="application/rss+xml"/><item><title>المعالج المسبق</title><link>https://outofsrvc.github.io/ar/cworkshop/preprocessor/</link><pubDate>Thu, 13 Aug 2026 10:00:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/cworkshop/preprocessor/</guid><description>&lt;p>بسم الله الرحمن الرحيم.&lt;/p>
&lt;p>بعد سلسلة من المقالات نكون قد انتهينا من أساسيات لغة C — ونتابع بإذن الله بسلسلة الـ Malware Development.&lt;/p>
&lt;p>في هذا المقال سنتعرف على &lt;strong>التوجيهات (Directives) الخاصة بالمعالج المسبق (Preprocessor)&lt;/strong> — وهي الحرف &lt;code>#&lt;/code> المتبوع بكلمات محجوزة يفهمها الـ Preprocessor ويقوم باستبدالها قبل الترجمة.&lt;/p>
&lt;blockquote>
&lt;p>نظرة على مراحل الـ Compilation (التي شرحناها في المقال الأول) — بالشكل المنفصل:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">gcc -E file.c -o file.i &lt;span class="c1"># 1. المعالج المسبق Preprocessor&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gcc -S file.i -o file.s &lt;span class="c1"># 2. المترجم Compiler&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gcc -c file.s -o file.o &lt;span class="c1"># 3. المجمع Assembler&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gcc file.o -o file &lt;span class="c1"># 4. الرابط Linker&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/blockquote>
&lt;h2 id="1-توجيهات-التضمين-inclusion-directives">1. توجيهات التضمين (Inclusion Directives)&lt;/h2>
&lt;h3 id="include">&lt;code>#include&lt;/code>&lt;/h3>
&lt;p>يسمح بإعادة هيكلة البرنامج (Restructuring): تقسيم البرنامج الكبير إلى ملفات متعددة، كل ملف مسؤول عن وظيفة معينة:&lt;/p></description></item></channel></rss>