Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
1

утечка память в IMG_LoadPNG_RW (SDL)

01.11.2011, 12:22. Показов 738. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
сделал в цикле следующий код
Код
while(1){
       frame=IMG_LoadPNG_RW(rwop);
       rwop=SDL_RWFromFile(filename.c_str(), "rb");

       SDL_FreeSurface(frame);
       SDL_FreeRW(rwop);

       SDL_Delay(30);
}
Смотрю в top и вижу, как программа кушает память на глазах. Что я не правильно делаю? Где неправильно очистил память ? Путем экспериментов выяснил, что течет тут SDL_RWFromFile, и совсем чуть если оставить только IMG_LoadPNG_RW
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2011, 12:22
Ответы с готовыми решениями:

Утечка памяти в SDL
Здравствуйте! Для проверки завершения работы я использую условие на нулевую ссылку int...

SDL утечка памяти
Всем доброго времени суток! Написал функцию (использую sdl и си): bool Draw_Text(TScene*...

Память, утечка памяти
Всем привет, начал изучать C#, есть некоторые значимые различия с С++. Такой вопрос к бывалым: ...

Утечка памяти, что если не освободить зарезервированную память?
Я не понимаю этого вообще. Получается, если я напишу программу с такой ошибкой специально и буду...

3
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
01.11.2011, 13:15 2
вероятнее всего выход из while не происходит должным образом и в нужном месте, вследствие чего цикл увековечивает себя в оперативке, наклепывая все новые и новые объекты и присваивая их адреса одним и тем же указателям....
0
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
01.11.2011, 13:28  [ТС] 3
Цитата Сообщение от BRcr Посмотреть сообщение
вероятнее всего выход из while не происходит должным образом и в нужном месте, вследствие чего цикл увековечивает себя в оперативке, наклепывая все новые и новые объекты и присваивая их адреса одним и тем же указателям....
незнаю что такое "должным образом", я делал выход из цикла по времени. Добавлял счетчик. Эффекту это не дало. Точнее, оно так изначально и было, пока я не упростил до такого кода.
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
01.11.2011, 14:19 4
Тогда приведи весь связанный с этим кусочком код. Так как-то не шибко понятно...
0
01.11.2011, 14:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2011, 14:19
Помогаю со студенческими работами здесь

Асинхронный клиент и утечка памяти: раз в минуту память скачком увеличивается на 10-20 кб
Клиент асинхронный, считываю данные по 1ному байту в пакет с помощью BeginReceive и каллбака....

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2?
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта...

Постоянная утечка память при работе с System.Net.Sockets.Socket. В чем может быть дело? Код прилагаю
Собственно отправка и получение данных, внутри Метод, возвращающий true или false namespace...

Debian 8 и "Куда ушла память"(утечка, кэш, ешё что-то?)
В общем. Я ввожу команду "htop" и вижу "1820" мб. Ок. Ввожу "top" - вижу ~"13 гигов"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru