![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
GC в C++ нужен для эффективной реализации некоторых алгоритмов. Каких? Не имею понятия, об этом говорил Саттер, в одном из видео. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
![]() Он ругается на некоторые внешние библиотеки, например OpenGL и OpenSSL. Чтобы с последним проблем не было, нужно пересобрать OpenSSL с ключиком -DPURIFY. А все остальное можно решить через списки исключений. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ни OpenGL ни OpenSSL в проекте не используются. по правде сказать, я устал заполнять этот список. валгринд ругался на многое... на смарт указатели, на std/boost bind, на boost::intrusive, на boost::interprocess, на boost::multi_index, и на много чего другого... особенно весело было с лямбдами. он ругался на каждую лямбду которая захватывала this, или любой другой указатель. при этом, в список ислючения приходилось вносить каждую лямбду, которых в проекте наверное тысячи %) при этом, его перлы были размером в несколько мегабайт, в первые несколько секунд работы программы. а с AddressSanitizer все гладко - никакого лишнего вывода, все только по существу, и не разу не ошибся ;) |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
делаете new для одной переменой
Data=new TItem [Count]; А delete делаете для другой переменной delete []this->Data; Я наверное поддержу.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
ТарасАтавин |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Добавлено @ 13:48 А как ещё? Data - новый блок, this->Data - старый. Один выделяется, другой освобождается. Просто пропущено присваивание this->Data=Data до завершения. Это сообщение отредактировал(а) ТарасАтавин - 23.11.2013, 13:48 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Люди не роботы, во время работы отвлекаются переключаются на что-то, пишется некоторый код, потом через месяц переделывается и т.д. В таких условиях утечки делаются очень легко, а бывает, что повторное удаление указателей. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
ТарасАтавин |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Добавлено через 5 минут и 46 секунд Ну вернулся ты через год к старому исходнику. И что? Добавишь new, а delete оставишь ещё на год? А может ещё после каждого движения мыши, щелчка, даблокликА, нажатия на кею, или отпускания её до следующего события месяца полтора проходит? В таком режиме вообще не возможно что либо сделать, а в нормально сразу и new, и парный delete набираются за несколько секунд и по одному решению, что исключает утечки. Единственный возможный их источник - пропуск присваивания, который ни каким инструментом не отловишь, их только на основе замысла. -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Ты действительно считаешь, что new и парный delete спасет от утечек? Или просто прикидываешься?
|
|||
|
||||
ТарасАтавин |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) ТарасАтавин - 25.11.2013, 08:57 -------------------- Не так всё плохо, как оно есть на самом деле. |
||||
|
|||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
То, что пришло в голову. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
он не прикидывается, у него 10 лет программирования за плечами
![]() |
|||
|
||||
ТарасАтавин |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Что за фигня? delete должен быть до завершения, иначе пара разбита.
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
а не нужно быть роботом, достаточно использовать прямые идиомы. Это сообщение отредактировал(а) boostcoder - 7.12.2013, 12:42 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |