powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / C теория: освобождение памяти и использование глобальных переменных
6 сообщений из 31, страница 2 из 2
C теория: освобождение памяти и использование глобальных переменных
    #39984705
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malloc - хитрая штука. Может подкинуть свинью. Проверь сколько free осталось.
...
Рейтинг: 0 / 0
C теория: освобождение памяти и использование глобальных переменных
    #39984739
про malloc:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
# Выделение памяти дорого стоит:
- использовать пул предварительно выделенных объектов;

# Повторное использование объектов вместо освобождения:
- delete не включает системные вызовы (память не возвращается ОС);
     * Но: в glibc free есть 400 строк бухгалтерского кода;
- повторное использование объектов также помогает избежать фрагментации памяти.
...
Рейтинг: 0 / 0
C теория: освобождение памяти и использование глобальных переменных
    #39984743
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас нет ни первого ни второго пункта. Вообще массив который я предлагаю - это и есть по сути
одноразовый пул который используется в начале алгоритма Флавия. И массовое уничтожение объектов
- это быстрая операция удаления всего пула.

По сути такой себе кастомный GC.
...
Рейтинг: 0 / 0
C теория: освобождение памяти и использование глобальных переменных
    #39984750
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
У нас нет ни первого ни второго пункта. Вообще массив который я предлагаю - это и есть по сути
одноразовый пул который используется в начале алгоритма Флавия. И массовое уничтожение объектов
- это быстрая операция удаления всего пула.

По сути такой себе кастомный GC.

Там только добавление? Тогда reserve() нужно не забыть.
...
Рейтинг: 0 / 0
C теория: освобождение памяти и использование глобальных переменных
    #39984751
mayton
У нас нет ни первого ни второго пункта.

а чё у нас есть? после malloc() не надо делать free() ? Или о каких удалениях тут речь?
mini.weblab
2) из списка удалялись элементы, но память выделенная под эти элементы не освобождалась.
а почему? в каких случаях память должна освобождаться, а в каких нет?
...
Рейтинг: 0 / 0
C теория: освобождение памяти и использование глобальных переменных
    #39984754
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза, нет.

Мы будем хорошими зайчиками и сделаем malloc + free. Один раз. Чтоб следовать хорошему стилю управления
ресурсами. Но распыляться на мелочи мы не будем.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / C теория: освобождение памяти и использование глобальных переменных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]