الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حركات ... مع الـ PreProcesses

بدأه مصطفى 36a2 في 16 نوفمبر 2013 · 0 رد · 1,238 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1

حركات .. PreProcessor
القراءة من وثائق اللغة متعة حقيقية مع القليل من المعاناة :)
مصدر الأفكار في هذه المشاركة
سأكتب بعض الأكواد أدناه .. وإن كنت لا تعلم ماذا ستكون نتيجتها , فستستغرب قليلاً عندما تعرف
جرب الكود الذي يلفت نظرك .

#line 72 "\\\n\7"#error Hello World!

int main()
{
    #if __LINE__!=3
    #error Move This Block O_O
    #endif
    return 0;
}
int main()
{
#line 3//without moving
    #if __LINE__!=3
    #error Move This Block O_O
    #endif
    return 0;
}
#int main(){##}

والآن .. إلى الضربة القاضية .. فكّر معي :
ما رأيك لو نعتمد على المحرر المفضل لديك .. ونقوم باختبار الأعداد الأولية بدون أن نترجم البرنامج :D وبدون أن ننشئ أي ملف تنفيذي :D وبدون أن نقوم بأي عملية Build مهما كانت !
فقط سأعتمد على اختيارك لأفضل المحررات مثلاً المحرر المستخدم visual studio 8 يقوم بتلوين العبارات المحققة عندما نستعمل الشرط if#
إذا قام المحرر الخاص بك في الكود التالي بتلوين العبارة Hello بالرمادي والعبارة World بلون زاهي .. فأنت على استعداد لخوض تجربة فريدة :
#if 0Hello#elseWorld#endif
إن لم يتم تلوينها فلا بأس ستقوم بعمل Build للكود .. وسيصدر النتيجة كخطأ ..
هل أنت جاهز ..  كل ما عليك فعله هو إنشاء مشروع جديد .. ملف C .. نسخ لصق ثم حفظ المشروع لا تنس الحفظ .
 وانتظر قليلا ريثما يتم الانتهاء من التلوين .. أو اعمل Build إن لم يكن محررك ذكيا لهذه الدرجة .
 واكتشف إمكانيات الكود بنفسك :D
#define Number 45
#define Test(x) ((Number>x)&&(Number%x!=0))

#if Number==2||Number==3||Number==5||Number==7||Number==11
    #define    isPrime    YES
#endifً

#if Test(2)
    #if Test(3)
        #if Test(5)
            #if Test(7)
                #if Test(11)
                    #define    isPrime    YES
                #else
                    #define DivisibleBy    11
                #endif
            #else
                    #define DivisibleBy    7
            #endif
        #else
                    #define DivisibleBy    5
        #endif
    #else
                    #define DivisibleBy    3
    #endif
#else
                    #define DivisibleBy    2
#endif

#ifndef isPrime
    #error not Prime
#else
    #error Yes it's Prime
#endif

بالتوفيق
2

مواضيع مشابهة