1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|||||||||||
1 | |||||||||||
Куда утекает память05.03.2015, 20:20. Показов 1172. Ответов 8
Метки нет (Все метки)
Бесполезный код проверяет время работы функции.
Память выделяется под массив и высвобождается перед выходом из функции. Тем не менее имеет место утечка.
gnu gcc 4.7.1
0
|
05.03.2015, 20:20 | |
Ответы с готовыми решениями:
8
Куда текёть память или чудеса в решете Резкий выход из проги: куда девается выделенная переменной память? Куда утекает память Куда в таком простом коде утекает память? |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
05.03.2015, 20:35 | 2 |
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|
05.03.2015, 20:45 [ТС] | 4 |
Диспетчер задач Windows ежесекундно добавляет
Пока 2 скрина делал на 2000КБ увеличилось. И продолжает расти
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
||||||
05.03.2015, 21:28 [ТС] | 6 | |||||
Ясно. Это не уверенность.Если была бы уверенность, я бы не вопрос задавал.
Это непонимание. Более точная формулировка: "Тем не менее выглядит все так, словно, утекает память". Просто в коде память выделяется. Пока она не выделится, я думал, что вывод на экран происходить не должен. Т.е. сначала выделить, потом только работать уже с массивом начнет. Вывод на экран происходит, значит выделение прошло. (исходя из вышеизложенной логики) я считать не умею сколько можно на ОС выделять. У меня Win7 x64, 8ГБ DDR3 А именно об этой функции, потому что это весь код, который я смотрю. Кликните здесь для просмотра всего текста
________________________ Эти суждения ведут меня к мысли, что диспетчер задач так работает? Волнами накатывает? Добавлено через 25 минут или это компилятор выделяет память небольшими кусочками. вопрос видоизменился. Я понял, что ждать надо. И верю, что утечки нет. Но что здесь творится-то? диспетчер по 50Кб добавляет на каждую проверку или компилятор выделяет память по 50Кб (50Кб - это приблизительная цифра, на которую ежесекундно изменяется память в диспетчере)
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|||||||||||
05.03.2015, 22:03 | 7 | ||||||||||
Скомпилировал этот код Win 8.1 16Gb ОЗУ i7 - Кликните здесь для просмотра всего текста
152,9 МБ выделилось и на протяжении всей программы так.
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|
06.03.2015, 00:26 [ТС] | 8 |
Не по теме: rikimaru2013, Может просто успела закончится до того момента когда диспетчер догнал сколько выделено. Диспетчер Windows - тормоз, короче. Считает гигантскую память какими-то мизерными огрызками. ( Называется это рабочим множеством. Определяет, сколько памяти требуется процессу в определенный интервал времени https://ru.wikipedia.org/wiki/Working_Set _________________________ Я не фига не понимаю, почему каждую секунду (или точнее на каждом интервале). Происходят такие незначительные изменения если в программе указано, что требуется 1 566 032K байт. Этот вопрос уже и не С++ совсем. Я его Не там задал, Я здесь не то спросил, получается.
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
||||||
06.03.2015, 09:14 | 9 | |||||
Проверку утечки памяти я делаю так:
Добавляю к проекту файл, содержащий такой код
блоках, где была утечка памяти.
5
|
06.03.2015, 09:14 | |
06.03.2015, 09:14 | |
Помогаю со студенческими работами здесь
9
Куда утекает память при копировании изображения в буфер обмена Не понимаю, куда утекает память при заупске процесса, хотя все free Куда "утекает" память или верить ли Диспетчеру задач? Куда утекает трафик? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |