По мотивам треда про calloc Calloc нынче ни на что не влияет что-ли? Без философий о том, кто ламер, кто не ламер и понимает современные технологии.
Чисто на практике. Хочется, чтобы:
Программа в процессе работы ГАРАНТИРОВАННО не падала от нехватки памяти при ее выделении и ее не прибивал OOM Killer (по крайней мере просто из-за выделения памяти), то есть, если в процессе работы обнаруживается ее нехватка, она могла бы сообщить об этом пользователю. Или хотя бы корректно завершиться, сохранив текущие данные.
Согласитесь, пользователь, которого вся эта философия оверкомитов, страниц памяти и настроек OOM Killer не волнует, вправе ожидать такого корректного для себя поведения программы. Ему просто хочется, например, редактировать видео и если он допустим при этом перебрал с чем-то жрущим память (например, слишком ресурсоемкий фильтр выбрал), получил сообщение об этом и продолжил работу.
Как правильно для этого работать с памятью? Естественно хотелось бы при этом, по-возможности, попроще и поуниверсальнее.
И если этого фактически невозможно достичь на современной системе, что-то тут сильно не так. Ну не нормально это, когда работаешь с какой-то софтиной и вдруг она бабах и не сказав худого слова упала только потому что какая-то функция не вписалась в объем, потому что параллельно запущенный браузер сожрал всю память или просто потому что не умеет предупреждать о нехватке ресурсов.