سؤال

لقد بحثت على الموقع ولكن لم أجد الإجابة التي كنت أبحث عنها هنا هو سؤال سريع حقا.

أحاول أن أفعل شيئا كهذا:

#ifdef _WIN32 || _WIN64
     #include <conio.h>
#endif

كيف يمكنني أن أفعل مثل هذا الشيء؟ أعرف أن _win32 محددة لكل من نوافذ 32 و 64 بت حتى أكون بخير مع اكتشاف Windows. أنا مهتم بما إذا كان بإمكاني استخدام المشغلين المنطقيين من هذا القبيل مع توجيهات مسبقة مسبقا، وإذا كانت الإجابة بنعم، فماذا، لأن ما سبق لا يعمل.

تجميع مع دول مجلس التعاون الخليجي أحصل عليه:

تحذير: الرموز الإضافية في نهاية التوجيه #ifdef، وتستغرق الأساس فقط أول ماكرو ويتجاهل الباقي.

هل كانت مفيدة؟

المحلول

يحاول:

#if defined(_WIN32) || defined(_WIN64)
// do stuff
#endif

ال معرف اختبارات ماكرو ما إذا كان سيتم تعريف الاسم أم لا) يتيح لك تطبيق المشغلين المنطقيين على النتيجة.

نصائح أخرى

عليك أن تستعمل #if والمشغل الخاص defined

أعتقد أنه ينبغي أن يكون ممكنا بهذه الطريقة:

#if defined block1 || defined block2 /*or any other boolean operator*/
   /*Code*/
#endif

معلومات اكثر هنا

استخدام محدد:

#if defined(A) || defined(B)
    #include <whatever.h>
#endif
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top