c++ - How is dynamically allocated space freed when a program is interrupted using Ctrl-C? -
निम्न कोड को देखते हुए:
#include & lt; stdio.h & gt; Int main () {int * p; P = (int *) malloc (10 * आकार (int)); जबकि (1); वापसी 0; } जब उपरोक्त कोड संकलित और चलाया जाता है, और Ctrl + C को दबाकर निष्पादन के दौरान बाधित है, तो p को आवंटित स्मृति कैसे है मुक्त है? यहां ऑपरेटिंग सिस्टम की भूमिका क्या है? और यह कैसे <+>
जब कोई प्रक्रिया समाप्त हो जाती है, ऑपरेटिंग सिस्टम सभी मेमोरी को पुनः प्राप्त करती है जो कि प्रक्रिया का उपयोग कर रही थी।
ओएस आपके ऐप को मेमोरी को पुनः प्राप्त करते समय भी लोगों को मेमोरी लीक से बड़ा सौदा करने का कारण जब यह समाप्त होता है तो यह प्रयोग होता था कि आमतौर पर गैर-तुच्छ अनुप्रयोगों को सिस्टम पर सभी मेमोरी को धीमा करने के लिए लंबे समय तक चलेगा। यह बहुत ही कम-आजीवन कार्यक्रमों के लिए कम समस्या है (लेकिन आप कभी भी नहीं बता सकते हैं कि जब एक लाइनर एक बड़ा कार्यक्रम बन जाएगा, तो छोटे कार्यक्रमों में भी कोई मेमोरी लीक नहीं है।)
Comments
Post a Comment