पर डीबग बिल्ड चला रहा है या नहीं, मैं रनटाइम पर QObject के भीतर से कैसे पता लगा सकता हूं कि क्यूटी के साथ जुड़ा हुआ क्यूटी डिबग बिल्ड या रिलीज बिल्ड है या नहीं?पता लगाएं कि qt रनटाइम
मुझे QT_NO_DEBUG macro के बारे में पता है, लेकिन यह Qt के निर्माण समय पर हल हो गया है।
उदाहरण 1 जब यह उपयोगी होगा: मेरे पास एक प्लगइन है जो एक क्रैश हैंडलर के रूप में कार्य करता है, जो बैकट्रैस प्रदान करता है। क्यूटी डीबग प्रतीकों उपलब्ध होने पर मैं केवल यह प्लगइन इस काम को करने का प्रयास करना चाहता हूं।
उदाहरण 2: मेरे पास pyqt में एक कमांड लाइन तर्क पार्सर लिखा गया है। यह प्रोग्राम सहायता मुद्रित करना चाहता है। यह कैसे पता लगाता है कि QApplication -sync स्विच का समर्थन करेगा या pyqt के भीतर से नहीं। अगर मेरे पास बिल्ड प्रकार पर जानकारी थी, तो मैं प्रोग्राम को समझने वाले तर्कों की सूची से आसानी से जोड़ सकता हूं या हटा सकता हूं।
#ifdef QT_DEBUG
qDebug() << "Running a debug build";
#else
qDebug() << "Running a release build";
#endif
हालांकि इस स्पष्ट रूप से नहीं बल्कि रनटाइम पर जाँच से, पूर्व प्रोसेसर का उपयोग करता है:
क्या आप जानना चाहते हैं कि क्यूटी पुस्तकालय डीबग या रिलीज हैं या आप जानना चाहते हैं कि आपका एप्लिकेशन डीबग या रिलीज़ में संकलित है या नहीं? –
क्यूटी पुस्तकालय। –