История изменений
Исправление
merhalak,
(текущая версия)
:
Зуд оправдан, частый malloc/free здорово тормозит программу. Но если не придумал другого алгоритма, пользуйся этим, не ломай. Фрагментация решается с помощью страничного выделения памяти в системе, как я понимаю. А лучше в программах с частым выделением/освобождением памяти пользуйся языками с GC. Или выделяй память размером с системную страницу (4K, пользуй её разными указателями, потом освобождай полностью).
Проверка на free(NULL) наверно сделана потому, что люди вручную обнуляют указатель после освобождения, чтобы не вызвать free ещё раз. Хотя это, конечно, бессмысленно.
Исправление
merhalak,
:
Зуд оправдан, частый malloc/free здорово тормозит программу. Но если не придумал другого алгоритма, пользуйся этим, не ломай. Фрагментация решается с помощью страничного выделения памяти в системе, как я понимаю. А лучше в программах с частым выделением/освобождением памяти пользуйся языками с GC.
Проверка на free(NULL) наверно сделана потому, что люди вручную обнуляют указатель после освобождения, чтобы не вызвать free ещё раз. Хотя это, конечно, бессмысленно.
Исправление
merhalak,
:
Зуд оправдан, частый malloc/free здорово тормозит программу. Но если не придумал другого алгоритма, пользуйся этим, не ломай. Фрагментация решается с помощью страничного выделения памяти в системе.
Проверка на free(NULL) наверно сделана потому, что люди вручную обнуляют указатель после освобождения, чтобы не вызвать free ещё раз. Хотя это, конечно, бессмысленно.
Исходная версия Deleted, :
Зуд оправдан, частый malloc/free здорово тормозит программу. Но если не придумал другого алгоритма, пользуйся этим, не ломай. Фрагментация решается с помощью страничного выделения памяти в системе.