Выведите, если malloc может потерпеть неудачу
Есть ли пессимистичный способ выяснить, выйдет ли malloc. Я несколько волнуюсь по этому поводу:
По умолчанию Linux следует оптимистичной стратегии выделения памяти. Это означает, что когда malloc() возвращает не NULL, нет никакой гарантии, что память действительно доступна. Если окажется, что системе не хватает памяти, один или несколько процессов будут убиты убийцей OOM. Для получения дополнительной информации см. Описание /proc/sys/vm/overcommit_memory и /proc/sys/vm/oom_adj в proc(5), а также исходный файл ядра Linux Documentation/vm/overcommit-accounting.
Если бы я не знал об этом отказе от ответственности, я бы просто проверил, успешно ли malloc.
В моем случае память является ограничением, поскольку приложению необходимо выделять большой блок данных (гигабайты). Gimp переносит всю ответственность на пользователя через диалог конфигурации. Я хочу иметь что-то, что выводит мягкий верхний предел.