Ich entwickle Anwendung für ein eingebettetes System mit begrenztem Speicher (Tegra 2) in C++. Ich handle NULL Ergebnisse von new
und new[]
im gesamten Code, der manchmal auftritt, aber die Anwendung kann damit umgehen.SIGKILL beim Zuweisen von Speicher in C++
Das Problem ist, dass das System den Prozess von SIGKILL beendet, wenn der Speicher vollständig ausgelaufen ist. Kann ich irgendwie sagen, dass new
sollte nur NULL zurückgeben, anstatt den Prozess zu töten?
Ich bin nicht sicher, aber man kann versuchen, "neue (nothrow)" verwenden http://www.cplusplus.com/reference/std/ new/nothrow/ –
Ich mache das in den meisten Fällen, sicherlich wenn ich größere Mengen an Speicher zuweise. In einigen Fällen war ich zu faul, um neu zu schreiben (std :: nothrow), aber ich nehme an, der Prozess würde mit Ausnahme statt SIGKILL enden. – Blackhex