डीबग बिल्ड और रिलीज बिल्ड के बीच कई अंतर हैं जो बहस और गति दोनों को प्रभावित करते हैं। _DEBUG/NDEBUG परिभाषित करने के लिए सबसे महत्वपूर्ण हैं, कंपाइलर अनुकूलन और डीबग जानकारी का निर्माण।
आप शायद तीसरे समाधान कॉन्फ़िगरेशन को बनाना और इन सेटिंग्स के साथ खेलना चाहें। उदाहरण के लिए, रिलीज बिल्ड में डीबग जानकारी जोड़ने से वास्तव में प्रदर्शन कम नहीं होता है लेकिन आपको पहले से ही एक समझदार स्टैक ट्रेस मिलता है ताकि आप जान सकें कि आप किस फ़ंक्शन में हैं। केवल कंपाइलर ऑप्टिमाइज़ेशन की वजह से लाइन जानकारी विश्वसनीय नहीं है।
यदि आप विश्वसनीय लाइन जानकारी चाहते हैं, तो आगे बढ़ें और अनुकूलन बंद करें। यह निष्पादन को थोड़ा धीमा कर देगा लेकिन यह तब भी सामान्य डीबग से तेज होगा जब तक कि _DEBUG परिभाषा अभी तक सेट नहीं है। फिर आप बहुत अच्छी डीबगिंग कर सकते हैं, केवल "सब कुछ जो" #ifdef _DEBUG "है या इसके आसपास समान नहीं होगा (उदा। इत्यादि कहने के लिए कॉल)।
आशा इस मदद करता है,
जनवरी
क्यों यह एक समुदाय विकी है की जरूरत है? – Aamir
मुझे अतीत में सभी प्रश्न "समुदाय विकी" बनाने के लिए कहा गया है। मैं वास्तव में नहीं जानता कि विकल्प क्या करता है। – pauldoo
............ lol – demoncodemonkey