2009-08-10 10 views
9

मेरे पास एक क्यूटी एप्लीकेशन है और मैं अपने आवेदन के लिए qDebug संदेश का उपयोग करता हूं। मेरी हेडर फाइल मेंक्या मुझे रिलीज के लिए QDebug शीर्षलेख को हटा देना चाहिए?

#include <QDebug> 

:

हालांकि मैं आलसी हो गया और के एक लोड में छोड़ दिया है। क्या मुझे उन्हें उत्पादन परिनियोजन के लिए हटा देना चाहिए और यह क्या लाभ देगा?

उत्तर

13

आपको हेडर समावेशन को हटा नहीं देना चाहिए। यदि आप ऐसा करते हैं, तो qDebug से जुड़े प्रत्येक कथन में एक कंपाइलर त्रुटि हो सकती है।

इसके बजाय, रिलीज के लिए संकलन करते समय प्रतीक QT_NO_DEBUG_OUTPUT को परिभाषित करें। qDebug कुछ भी नहीं करेगा जब उस प्रतीक को परिभाषित किया गया है और (उम्मीद है कि) कंपाइलर किसी फ़ंक्शन को कॉल को ऑप्टिमाइज़ करेगा जो कुछ भी नहीं करता है।

+1

यह पर्याप्त नहीं है क्योंकि आप अभी भी क्यूटी पुस्तकालयों से qDebug संदेश प्राप्त कर सकते हैं। यदि आप एक विंडोज डेवलपर हैं तो आप SysInternals से dbgview प्रोग्राम के साथ जांच सकते हैं। – hmuelner

1

qInstallMsgHandler में देखने के लिए बेहतर विचार हो सकता है। आप कहीं भी अपने डीबग संदेशों को रीडायरेक्ट कर सकते हैं।

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