मुझे अपने कार्यक्रम में स्मृति विखंडन में परेशानी हो रही है और थोड़ी देर के बाद बहुत बड़ी मेमोरी ब्लॉक आवंटित करने में सक्षम नहीं है। मैंने इस मंच पर संबंधित पोस्ट पढ़ी हैं - मुख्य रूप से this एक। और मेरे पास अभी भी कुछ प्रश्न हैं।हीप विखंडन और विंडोज़ मेमोरी मैनेजर
मैं स्मृति की तस्वीर प्राप्त करने के लिए मेमोरी स्पेस profiler का उपयोग कर रहा हूं। मैंने एक 1 लाइन प्रोग्राम लिखा जिसमें सीन >> var शामिल है; और स्मृति की एक तस्वीर ली:
alt text http://img22.imageshack.us/img22/6808/memoryk.gif शीर्ष चाप पर जहां हरा खाली स्थान इंगित करता है, पीला आवंटित, लाल प्रतिबद्ध होता है। मेरा सवाल यह है कि दाईं ओर आवंटित स्मृति क्या है? क्या यह मुख्य धागे के लिए ढेर है? यह स्मृति मुक्त नहीं होने जा रही है और यह मुझे आवश्यक स्मृति की विभाजित करता है। इस सरल 1 लाइन प्रोग्राम में विभाजन उतना बुरा नहीं है। मेरे वास्तविक कार्यक्रम में पता स्थान के बीच में आवंटित अधिक सामान है, और मुझे नहीं पता कि यह कहां से आ रहा है। मैं अभी तक उस स्मृति को आवंटित नहीं कर रहा हूं।
मैं इसे हल करने का प्रयास कैसे कर सकता हूं? मैं nedmalloc या dlmalloc जैसे कुछ स्विच करने के बारे में सोच रहा था। हालांकि यह केवल उन वस्तुओं पर लागू होगा जो मैं स्पष्ट रूप से आवंटित करता हूं, जबकि चित्र में दिखाया गया विभाजन दूर नहीं जाएगा? या सीआरटी आवंटन को किसी अन्य मेमोरी मैनेजर के साथ बदलने का कोई तरीका है?
ऑब्जेक्ट्स बोलना, क्या सी ++ के लिए नेडमॉलोक के लिए कोई रैपर हैं इसलिए मैं ऑब्जेक्ट आवंटित करने के लिए नया उपयोग कर सकता हूं?
धन्यवाद।
माइक्रोसॉफ्ट सुरक्षा अनिवार्यताएं सोचती हैं कि मूल प्रश्न में जुड़े "प्रोफाइलर" एप्लिकेशन में Win32.Bisar! Rts trojan शामिल है। –