2013-02-01 11 views
7

मैं D_GLIBCXX_DEBUG और DNDEBUG झंडे को समझने की कोशिश कर रहा हूं।मुझे D_GLIBCXX_DEBUG और DNDEBUG झंडे के बारे में अधिक जानकारी कहां मिल सकती है?

लेकिन मुझे उनके बारे में जानकारी नहीं मिल रही है।

क्या कोई यह समझा सकता है कि वे क्या करते हैं? और मैं उनके बारे में और कहां पढ़ सकता हूं?

+0

यह वास्तव में 'डी' के बिना '_GLIBCXX_DEBUG' और' NDEBUG' है। – ipc

+0

ये मैक्रोज़ क्या हैं? –

+2

मैंने आपको असली नाम दिए, अब वे आसानी से वेब पर खोजे जा सकते हैं। – ipc

उत्तर

5

दोनों -D का उपयोग करते हैं जो D के बाद दिए गए मैक्रो को परिभाषित करता है।

जब NDEBUG परिभाषित किया गया है, assert इसकी तर्क की जांच नहीं करता है।

_GLIBCXX_DEBUG परिभाषित किया गया है, यह debug mode को libstdc++ में सक्रिय करता है (libstdc++ विभिन्न संचालनों पर जांच करने के लिए)।

+0

तो आप कमांड लाइन के माध्यम से कंपाइलर को conjuring करते समय '-DNDEBUG' और' -D_GLIBCXX_DEBUG' लिखते हैं, है ना? – shuhalo

+0

@shuhalo: हाँ, अगर आप संकलन के दौरान परिभाषित किए जाने के लिए 'NDEBUG' और' _GLIBCXX_DEBUG' मैक्रोज़ को परिभाषित करना चाहते हैं। – Mankarse

संबंधित मुद्दे

 संबंधित मुद्दे