0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 1
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Очень долгое освобождение динамически выделенной памяти30.07.2012, 20:56. Показов 3141. Ответов 23
Метки нет (Все метки)
Все никак не могу разобраться с одной проблеммой!
У меня есть отображение, в котором хранятся указатели на абстрактный класс Node
После наполнения отображения программа выполняет различные действия с этими объектами. При завершении работы программы освобождается память, выделенная для объектов.
В чем может быть проблема, как ускорить освобождение памяти?
0
|
30.07.2012, 20:56 | |
Ответы с готовыми решениями:
23
Освобождение динамически выделенной памяти Ошибка при чистке динамически выделенной памяти Ошибка при освобождении динамически выделенной памяти Освобождение выделенной памяти |
4863 / 2662 / 913
Регистрация: 29.11.2010
Сообщений: 5,738
|
|
02.08.2012, 15:53 | 2 |
Есть предположение, что время занимает код в деструкторах. Покажете?
0
|
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
|
|
02.08.2012, 20:46 | 3 |
Самое лучшее решение - не освобождать память. После завершения работы процесса все само собой очистится.
0
|
387 / 151 / 16
Регистрация: 12.05.2011
Сообщений: 450
|
|
03.08.2012, 18:43 | 4 |
0
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
|
04.08.2012, 13:24 | 5 |
Это в шарпе всё освободится и в С++ статическая сама освободится, а он оператором new выделяет память, значит она не освободится сама и прога будет "течь". Попробуйте сделать по-другому или покажите деструктор объекта.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
04.08.2012, 13:27 | 6 |
0
|
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
|
|
04.08.2012, 13:38 | 7 |
Даже есть спец. проги (например deleaker), чтобы устранять "течь" динамической памяти.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
04.08.2012, 13:40 | 8 |
Airhand, серьезно думаете, что память может утечь после завершения процесса?
0
|
Airhand
|
04.08.2012, 13:58
#9
|
Не по теме: alex_x_x а зачем тогда куча прог: deleaker, TrueTime, Bounds Checker, TrueCoverage, ... Они все денег стоят и не малых. Типа их просто так делали. :jokingly:
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
04.08.2012, 14:01 | 10 |
не вижу логики - эти программы для отслеживания мемликов времени исполнения, а не после завершения процесса
0
|
Airhand
|
04.08.2012, 15:15
#12
|
Не по теме: Элементарные вещи знать надо:
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
04.08.2012, 15:21 | 13 |
Airhand, ты думаешь сказал чтото умное?)
если ты не понял - после завершения процесса ОС возвращает себе все занятые им ресурсы ВСЕ Если ты знаешь, что такое виртуальная память, то тебе будет очевидно, что процесс в современной ОС не может потреблять память после завершения
0
|
Airhand
|
04.08.2012, 15:33
#14
|
Не по теме:
0
|
Airhand
|
04.08.2012, 16:49
#16
|
Не по теме: niXman, кто тут под веществами - так это точно не я. Я ж давал ссылки, ознакомтесь с распределением памяти, а потом будете вещать. Хотите я напишу прогу,которая будет "съедать" всю оперативку и ОС придётся перегружать ?
0
|
04.08.2012, 17:14 | 17 |
Airhand, пиши что хочешь и давай ссылки на что хочешь. ибо то, что написано по тем ссылкам, написано для таких как ты. и те проги, на которые ты давал ссылки, соответственно написаны для тех, кто верит в то, что написано по тем ссылкам которые давал ты.
Добавлено через 14 минут другими словами: "для того чтоб что-то продать, нужно вырастить поколение тех кто это купит" (c) не помню кто Добавлено через 5 минут и да, если речь идет про DOS/win95/win98, то ты прав.
0
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
04.08.2012, 19:33 | 18 |
Тем не менее, расслабиться и доверить ОС подбирать за программой - не лучшая практика, особенно с точки зрения обучения. Если на малых и недолго работающих проектах это ещё "проканает", то на чём-то более объёмном память может и закончиться раньше, чем программа завершит работу нормальным образом. Аналогично, пренебрежение к времени, затрачиваемому на удаление объектов, может привести к катастрофическому падению производительности. Так что, я считаю, в этой ситуации надо разобраться. Желательно, вооружившись профилировщиком.
0
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
05.08.2012, 09:29 | 20 |
niXman, так и я ж об этом. Да, ОС память заберёт, но называть это "наилучшим выходом" я бы не стал.
0
|
05.08.2012, 09:29 | |
05.08.2012, 09:29 | |
Помогаю со студенческими работами здесь
20
Освобождение памяти, выделенной через new Корректно ли освобождение выделенной памяти? Массив: Освобождение выделенной памяти Освобождение памяти, выделенной под массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |