में स्मृति आवंटित करते समय मैं सी ++ में सीमित मेमोरी (टेग्रा 2) के साथ एम्बेडेड सिस्टम के लिए एप्लिकेशन विकसित कर रहा हूं। मैं new
और new[]
के पूरे परिणामों को पूरा करता हूं जो कभी-कभी होता है लेकिन एप्लिकेशन इसे संभालने में सक्षम है।सिगकिल सी ++
समस्या यह है कि अगर सिस्टम पूरी तरह से बाहर निकलता है तो सिस्टम सिगकिल द्वारा प्रक्रिया को मारता है। क्या मैं किसी भी तरह से बता सकता हूं कि new
को प्रक्रिया को मारने के बजाय नल वापस लौटना चाहिए?
मुझे यकीन है कि नहीं कर रहा हूँ, लेकिन आप का उपयोग करने के लिए "नया (nothrow)" http://www.cplusplus.com/reference/std/ कोशिश कर सकते हैं नया/नोट्रो/ –
मैं ज्यादातर मामलों में करता हूं, निश्चित रूप से जब मैं बड़ी मात्रा में स्मृति आवंटित कर रहा हूं। कुछ मामलों में मैं नए (std :: nothrow) को नया लिखने के लिए बहुत आलसी था लेकिन मुझे लगता है कि प्रक्रिया सिगकील के बजाय अपवाद के साथ समाप्त हो जाएगी। – Blackhex