शीर्षक राज्यों के रूप में, मैं सोच रहा था क्याdefference बीच #if #else #endif और अगर नियमित रूप से, किसी और
#if
DoWork();
#else
DoAnotherWork();
#endif
और
if (debug)
DoWork();
else
DoAnotherWork();
शीर्षक राज्यों के रूप में, मैं सोच रहा था क्याdefference बीच #if #else #endif और अगर नियमित रूप से, किसी और
#if
DoWork();
#else
DoAnotherWork();
#endif
और
if (debug)
DoWork();
else
DoAnotherWork();
if (debug)
DoWork();
else
DoAnotherWork();
उपरोक्त कोड संकलित किया जाएगा और स्थिति रनटाइम पर जांच की जाएगी।
#if
DoWork();
#else
DoAnotherWork();
#endif
ये विवरण संकलित समय पर चेक किए जाएंगे।
तो यदि #if स्थिति सत्य है, DoWork(); संकलित किया जाएगा और अन्यथा DoAnotherWork(); संकलित किया जाएगा। जहां पिछले उदाहरण के रूप में यदि कथन सहित सभी कोड संकलित किया जाएगा।
कृपया upvotes की मात्रा के बावजूद प्रीप्रोसेसर निर्देशों
पहले का उपयोग कर के बीच मतभेद Preprocessor Directive और दूसरा है Logical statement।
पर इस पढ़ा है, यह सबसे अच्छा जवाब नहीं है। लिंक के बिना, आपका उत्तर दोनों अवधारणाओं के अर्थ की व्याख्या नहीं करता है। भविष्य में संदर्भ के लिए आपका उत्तर अकेले खड़ा होना चाहिए। कृपया अपने उत्तर का विस्तार करने पर विचार करें ताकि लिंक उत्तर को पूरक न केवल – psubsee2003
प्रदान करें, मुझे लगता है कि यह काफी अच्छी तरह से खड़ा है। यह एक वाक्य में एक स्पष्टीकरण है और इसे समझने के लिए लिंक पर क्लिक करने की कोई आवश्यकता नहीं है। – Fionnuala
पहला संस्करण प्रीप्रोसेसर निर्देशों का उपयोग करता है। यह केवल कुछ बयानों को संकलित करने के लिए संकलक के लिए निर्देश हैं। परिणामी निष्पादन योग्य फ़ाइल में केवल संकलित बयान शामिल होंगे। इसलिए शर्त ऐसी चीज होनी चाहिए जिसका संकलन समय पर मूल्यांकन किया जा सके।
दूसरा संस्करण रन टाइम पर मूल्यांकन किया जाता है। संकलक if
स्थिति का मूल्यांकन करने के लिए सभी बयानों के साथ-साथ तर्क को संकलित करेगा। सभी कथन परिणामस्वरूप निष्पादन योग्य फ़ाइल में शामिल किए जाएंगे। और वास्तव में निष्पादित कौन सा कथन निर्धारित किया जाएगा जब आपका कोड चलता है।
आप लॉजिकल डायरेक्टिव्स के लिए एक लिंक भी जोड़ सकते हैं –