Estoy desarrollando una aplicación para un sistema integrado con memoria limitada (Tegra 2) en C++. Estoy manejando los resultados NULOS de new
y new[]
en todo el código que a veces ocurre pero la aplicación puede manejar esto.SIGKILL al asignar memoria en C++
El problema es que el sistema mata el proceso por SIGKILL si la memoria se agota por completo. ¿Puedo decir de alguna manera que new
debería simplemente devolver NULL en lugar de matar el proceso?
No estoy seguro, pero se puede tratar de usar "nueva (nothrow)" http://www.cplusplus.com/reference/std/ new/nothrow/ –
Lo hago en la mayoría de los casos, seguramente cuando estoy asignando grandes cantidades de memoria. En algunos casos, yo era demasiado flojo para reescribir lo nuevo en nuevo (std :: nothrow), pero supongo que el proceso terminaría con excepción en lugar de SIGKILL. – Blackhex