Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Утечка памяти, Напугайте меня 
:(
    Опции темы
Coocky
Дата 16.3.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 2
Всего: 62



Вот раньше,когда начинал прогать,скурпулезно удалял все указатели.Теперь прог8и выросли и их количество тоже.Надоело..
А ну ка возрадите во мне эту традицию..Приведите примеры,засорения памяти,так как проблем пока не возникало.
Или это все понты,типа "хороший стиль программирования"


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
LuckLess
Дата 16.3.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



Писал както прогу...
она строила бинарное дерево возможных ходов в одной игре , чтобы на ее основе сделать наилучший выбор хода...
и сделал ошибку в вункции VirtuallFree()...
в итоге она не удаляла старые деревья из памяти..
и после минуты игры санимала 1.5 ГБ памяти.. что приводило к нереальным тормозам системы.....
PM MAIL   Вверх
Vyacheslav
Дата 16.3.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Очень просто. Бегло просмотрев Ваш стиль программирования при таком раскладе ни один разработчик программного обеспечения не возмет Вас на работу. Дело не в памяти, а в стиле кодирования. Если уж программист не в состоянии уследить за своевременным освобождением памяти, то вопрос о качестве решения более сложных вопросов просто не возникнет. К тому же меня настараживает "скурпулезно". Обычно при правильном подходе к делу за этим не требуется особого пригляда. А если для программиста особый пригляд нужен и утомителен, то ... возникают вопросы в его компетентности. При этом можно даже не упоминать о разработке серверных приложений, которые призваны крутиться годами...


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
np9mi7
Дата 16.3.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



Цитата
хороший стиль программирования
, не ну если тебе самому в кайф писать ГЛЮКАЛО, то тогда....
Цитата
Теперь прог8и выросли и их количество тоже
,
большое количество "прог", признак их простоты, поверь чуть возмешся за человеческий проект, сразу задашся вопросами эфф. упр. ресурсами... это целая наука, интелектуальные указатели...итд...


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
En_t_end
Дата 16.3.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Я действую по принципу : "Выделил память - освободи, когда обьект уже не нужен". Причем освобождаю всегда вручную, не надеясь на якобы встроенные средства.
PM MAIL ICQ Skype GTalk Jabber   Вверх
Coocky
Дата 16.3.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 2
Всего: 62



arajan
Цитата
не ну если тебе самому в кайф писать ГЛЮКАЛО, то тогда....

Ну вот хотелось бы увидеть(услышать) пример глюкала smile
Цитата
большое количество "прог", признак их простоты

Большое количество не прог,а указателей. smile
Цитата
оверь чуть возмешся за человеческий проект, сразу задашся вопросами эфф. упр. ресурсами

Уже не один за плечами smile
Цитата
это целая наука, интелектуальные указатели...итд...

А вот это уже интересней.А где можно посмотреть?
LuckLess Пример понятен.Спасибо.
Цитата
Бегло просмотрев Ваш стиль программирования при таком раскладе ни один разработчик программного обеспечения не возмет Вас на работу

Я сам себе директор smile В однм лице с программистом и менеджером по продаже-фрилансер,одним словом smile Мне б еще примерчики.Типа как у LuckLess,хотя надо бы самому попробывать Сделаю ка цикл из выделения памяти на 100000 указателей(может больше?)Гляну...


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
S.A.P.
Дата 17.3.2005, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Цитата(Coocky @ 16.3.2005, 23:11)
Цитата
это целая наука, интелектуальные указатели...итд...

А вот это уже интересней.А где можно посмотреть?

Читай Рихтера, только они умные называются, вроде. RAdmin ссылку на книгу давал в комп. лите.


Цитата(Coocky @ 16.3.2005, 23:11)
Ну вот хотелось бы увидеть(услышать) пример глюкала
допустим ты написал не какой - нибудь блокнот, а целый сервис, котороый будет постоянно висеть в системе и обрабатывать какую - нибудь информацию, периодически выделяя память. Сервис будет работать на сервере, который не будет перезагружаться месяц, а то и больше. А теперь прикинь, сколько памяти переведет твоя программа за это время smile .

PM MAIL   Вверх
Coocky
Дата 17.3.2005, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 2
Всего: 62



Perchilla
Понял,старик,убедил smile
А так вот никому нельзя было обьяснить.Действительно,понытно,чем долговечней,тем проблемней smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
np9mi7
Дата 17.3.2005, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



ДА с учетом даже обычного блокнота мне кажеться имеет смысл работь с ресурсами окуратнее....
интелектуальные указатели


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
pablo
Дата 17.3.2005, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 12.2.2005
Где: Вильнюс, Литва

Репутация: 4
Всего: 6



Не своевремменное освобождение памяти - это не только осточник трудно улавимых ошибок, плохого стиля программирования, но и причина не понимания программирования вообще.
Никому (программерам) неахота писать глючные проги, которые жрут ресурсы и стопорят систему.



--------------------
Первый блин всегда похож на сферу, иногда бывает и куб.
PM MAIL ICQ   Вверх
np9mi7
Дата 17.3.2005, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: 5
Всего: 10



pablo ? best regals...


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Vyacheslav
Дата 17.3.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(En_t_end @ 16.3.2005, 20:44)
Я действую по принципу : "Выделил память - освободи, когда обьект уже не нужен". Причем освобождаю всегда вручную, не надеясь на якобы встроенные средства.

Вручную? Зачем? Если есть возможность, то пусть у меня голова болеть не будет
Код

 struct Buffer
 {
       char buf[10000];
 };

class Test
{
  public:
  Test():m_buffer(std::auto_ptr<Buffer>(new Buffer)){}

  private:
  std::auto_ptr<Buffer> m_buffer;
 };


void main()
{
 std::auto_ptr<Test> t(new Test());
 }

Сколько памяти здесь утекло? smile



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Coocky
Дата 17.3.2005, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 2
Всего: 62



arajan неплохо.Спасибо.Интересно будет почитать
pablo
Цитата
Не своевремменное освобождение памяти - это не только осточник трудно улавимых ошибок, плохого стиля программирования, но и причина не понимания программирования вообще.

Спасибо smile
Займусь вышиванием.
Короче спасибо всем,и тем кто подсказал,и тем кто любит измерять время выполнения своих функций,и хвастаться бабушке с мамой,или изобретать свои методы сортировок,думая что он велик,изобревши велосипед,с одним колесом smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
chipset
Дата 18.3.2005, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(Coocky @ 16.3.2005, 12:11)

А вот это уже интересней.А где можно посмотреть?

Есть такая книга: С++ для настоящих программистов[RUS,1.8MB,PDF], этим умным указателем чуть ли ни вся она посвящена.. Интересно, а как ты на STL кодил без них?
Зайди - http://www.firststeps.ru/theory/c/r.php?2 и ещё по оглавлению поброди..
Если не хочешь освобождать память, тебе прямая дорога в .NET и Java.
.

Это сообщение отредактировал(а) chipset - 18.3.2005, 00:19


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
DENNN
Дата 18.3.2005, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата(chipset @ 18.3.2005, 00:19)
Интересно, а как ты на STL кодил без них?

Гораздо интересней как на STL вместе с ними кодить можно? smile Там ведь в контейнерах произвольно могут объекты в новые участки памяти копироваться и умные указатели работать перестают.

PM ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.