हम यह नहीं कह सकता है जो बेहतर उपयोग करने के लिए, क्योंकि एक संकलन चरण (#if
) और अन्य एक में प्रयोग किया जाता है इसके बाद के संस्करण कोड का निर्माण करने के क्रम चरण में (if
)
#if 1
printf("this code will be built\n");
#else
printf("this code will not\n");
#endif
कोशिश प्रयोग किया जाता है gcc -E
साथ और आप देखेंगे कि आपके संकलक केवल युक्त एक और कोड जनरेट करेगा देखेंगे:
printf("this code will be build\n");
अन्य printf नए कोड (पूर्व प्रोसेसर कोड) और फिर कार्यक्रम बाइनरी में कोई वर्तमान में मौजूद नहीं होगा।
निष्कर्ष: #if
संकलन चरण में व्यवहार किया जाता है, लेकिन जब अपने कार्यक्रम चलाने
आप अपने कोड के एक भाग में #if 0
उपयोग कर सकते हैं inorder यह संकलन करने संकलक से बचने के लिए सामान्य if
व्यवहार किया जाता है। जैसे आप
int main(void) {
printf("this code will be build\n");
#if 0
printf("this code will not\n");
#endif
}
यह बराबर है
int main(void) {
printf("this code will be built\n");
/*
printf("this code will not\n");
*/
}
लुकअप "प्रीप्रोसेसर"। –
मुझे -1 एस समझ में नहीं आता है। पूरी तरह से नोबिश होने पर, यह एक बहुत ही वैध सवाल है। और यदि आप "प्रीप्रोसेसर" कीवर्ड नहीं जानते हैं तो आसानी से गुगलेबल नहीं। – Dariusz
मुझे "रचनात्मक नहीं के रूप में बंद" वोट नहीं समझते हैं: यह कुछ सरल लेकिन पूरी तरह से वैध प्रश्न है। – dasblinkenlight