Ich möchte ein sicheres Programm schreiben, daher werde ich erforderlichen Speicherplatz in Heap zu Beginn des Programms zuweisen.Kann ich Fehler im Arbeitsspeicher feststellen?
- Ist es möglich, von einem gewissen Punkt Zuweisung deaktivieren Heap-Speicher starten, wie
toggle_panic_on_heap_allocation
? - Wie kann ich "out of memory" Fehler während der Initialisierung abfangen? Standardverhalten ist abbrechen, aber ich möchte nicht abstürzen, nur mit Fehlercode beenden?
hinzuzufügen Was ist der Unterschied in Panicking (was beendet und gibt einen Fehlercode zurück) und "nur mit Fehlercode beenden"? Beachten Sie, dass OOM eine ** panic ** (ein kontrollierter und geordneter Ausgang) auslösen sollte, nicht ** crash ** (zwangsweise vom Betriebssystem beendet, um etwas Schlechtes zu tun). Beachten Sie, dass der OS OOM-Killer außerhalb Ihrer Kontrolle liegt. – Shepmaster
@Shempmaster At jetzt auf oom Programm (mit Rost-1.10) druckt "fataler Laufzeitfehler: nicht genügend Arbeitsspeicher \ nUngültige Anweisung" und Core Dump wurde erstellt – fghj