Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 45
1

QT 5 Очистка памяти или глюки фреймворка

05.03.2016, 16:02. Показов 3836. Ответов 45
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня, возникла странная проблема.
Создаем TcpServer к нему коннектим 300 подключений, видим как съедается 3 метра памяти, отключаем клиентов, вызываем deleteLater(), delete object; но память не чистится всеравно. как быть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2016, 16:02
Ответы с готовыми решениями:

Выбор cms или фреймворка
Доброго времени суток. Собираюсь разрабатывать сайт учебных курсов. На нем будут размещать...

Выбор фреймворка или CMS для корпаративного сайта
Добрый день! Помогите, пожалуйста, выбрать фреймворк или CMS для корпаративного сайта. Сайт...

Выбор CMS или фреймворка для базы данных
Всем привет! Помогите, пожалуйста, в выборе какого-то движка для базы данных (неважно, CMS или...

Не могу определиться между использованием фреймворка или чистого PHP
Здравствуйте, подскажите пожалуйста, я решил написать сайт доска объявлений(наподобие как автито,...

45
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 45
07.03.2016, 00:43  [ТС] 41
Author24 — интернет-сервис помощи студентам
Поторопился, на 5.6 все норм.. реально все удаляется. на 5.1 нет.
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
07.03.2016, 19:59 42
То есть все закончилось тем, что вы использовали древнюю версию Qt?

На 4.8.7 есть утечка?
0
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 45
07.03.2016, 20:07  [ТС] 43
Цитата Сообщение от RazrFalcon Посмотреть сообщение
На 4.8.7 есть утечка?
Слу, ну если сильно надо могу поставить, глянуть, не проблема.
Да и еще deleteLater не совсем правильно отрабатывает, для реально правильной очистки наиболее хорошо подходит:
C++ (Qt)
1
2
3
4
QObject *test = new QObject();
test->disconnect();
test->deleteLater();
delete test;
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
07.03.2016, 20:10 44
Цитата Сообщение от Mimik_fc7 Посмотреть сообщение
для реально правильной очистки наиболее хорошо подходит
Это перебор. Одного delete достаточно. Все остальное и так будет вызвано.
0
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 45
07.03.2016, 20:14  [ТС] 45
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Это перебор. Одного delete достаточно
если где-то в другом потоке будет подключение к любому методу, после вызова
C++ (Qt)
1
 delete object;
будет Segmentation fault,если сделать как написал я, все будет гуд.
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
07.03.2016, 20:22 46
Цитата Сообщение от Mimik_fc7 Посмотреть сообщение
если где-то в другом потоке будет подключение к любому методу, после вызова
Пфф... Это уже быдлокод. Не нужно тягать сырой указатель между потоками. И советуемый вами код подходит только для вашей кривой реализации потоков, а не "deleteLater не совсем правильно отрабатывает".

По этому повторю - delete достаточно.
0
07.03.2016, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2016, 20:22
Помогаю со студенческими работами здесь

Обновление без ChangeTracker'a или два фреймворка в одном проекте?
Как оптимально реализовать построение запросов на частичное обновление данных, если нет дефолтного...

Как устранить глюки оперативной памяти?
Проблема в следующем: Есть оперативная память: два комплекта DIMM DDR2, 4ГБ (2x2ГБ) , Kingston...

Очистка памяти
При выполнении программы, память приложения растёт, а она должна быть неизменной. int main() {...

очистка памяти
при запуск программы сама собой создаётся точка останова в строке 59. И дальше программа идти не...


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

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