जब आप एक नया MFC आवेदन बनाने के लिए, जादूगर लगभग हर सीपीपी फ़ाइल में कोड की निम्न ब्लॉक बनाता है:"#Dfine new DEBUG_NEW" और "#undef THIS_FILE" आदि वास्तव में आवश्यक हैं?
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
और कभी कभी यह भी इस जोड़ता है:
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
मैं निकालना चाहते हैं यह कोड मेरी सीपीपी फाइलों से अगर यह अनावश्यक है। मैं वीएस -2008 पर सी ++/सीएलआई के साथ एक एमएफसी ऐप का उपयोग कर रहा हूं।
मैंने सीपीपी से इस कोड को हटाने के बाद डीबग में दौड़ने की कोशिश की है, और ऐसा लगता है कि यह ठीक काम करता है। "नया" आईएनजी वैरिएबल ठीक काम करता है, कोई रिसाव नहीं है, और एएसएसईआरटी संवाद सही फ़ाइल नाम दिखाते हैं और अपमानजनक रेखा पर कूदते हैं।
क्या कोई मुझे बता सकता है कि यह क्या करता है और क्या इसे हटाना सुरक्षित है?
क्या आप निश्चित हैं? कोड ब्लॉक हटा दिए जाने के बाद भी VS2008 अभी भी मेमोरी लीक ऑब्जेक्ट डंप प्रदर्शित करता है। शायद यह वीसी 6 या कुछ में मामला था ...? – demoncodemonkey
क्षमा करें मुझे अभी एहसास हुआ है कि आपने जो कहा है उसके लिए एक सूक्ष्मता है - जब कोड होता है तो आउटपुट विंडो फ़ाइल नाम और रेखा को स्मृति रिसाव दिखाती है, क्योंकि यह दिखाने के विपरीत कि स्मृति मेमोरी है। – demoncodemonkey
ताकि जेनरेट कोड के पहले भाग को समझाया जा सके। दूसरे भाग के बारे में क्या? #undef THIS_FILE स्थिर चार THIS_FILE [] = __FILE__; – demoncodemonkey