Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Об освобождении памяти  (Прочитано 1028 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Об освобождении памяти
« : 27 Июля 2011, 20:53:25 »
Здравствуйте!

Написал я программу на С++, она у меня кушает около 150 мегабайт памяти. Однако по окончании выполнения я вовсе не освобождаю память, надеясь на операционную систему. Правильно ли я делаю и ежели нет, то как сие положение исправить? Программа может завершаться как штатно, так и по ошибке, по ctrl+c или киллом. За один аптайм может быть произведено несколько сотен запусков.

Заранее благодарен.
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: Об освобождении памяти
« Ответ #1 : 27 Июля 2011, 22:14:17 »
Память по завершению освободится сто пудово.
В другом, возможно более важном месте забудете по привычке освободить память и тогда возможно начнутся проблемы
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Об освобождении памяти
« Ответ #2 : 27 Июля 2011, 22:45:37 »
Это в каком?
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Об освобождении памяти
« Ответ #3 : 27 Июля 2011, 23:03:17 »
Бесконечный(очень длинный) цикл с new, и утечка памяти обеспечена. То есть создание кучи объектов без удаления.
Но после завершения проги должно все само освободится.
Если хотите, конечно, можете свой деструктор написать.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Об освобождении памяти
« Ответ #4 : 28 Июля 2011, 08:21:08 »
Если твоё приложение завершается, ОС гарантированно освободит все занятые им ресурсы.
проблемы будут если твоё приложение использует все доступные ресурсы и после ухода в дикий своп ОС наконец-то пристрелит твоё приложение.
а вообще так делать нельзя. иди фиксить свою приблуду. vlagring помогает лечить такие проблемы.

Оффлайн Обедающий философ

  • Автор темы
  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
    • Искусственная жизнь по-русски
Re: Об освобождении памяти
« Ответ #5 : 28 Июля 2011, 10:30:52 »
"При жизни" вроде как всё хорошо, по идее там особо нечему утекать. Премного благодарен.

По запросу vlagring поиск мне предлагает влагалищное кольцо.
Боится смерти тот, кто мало сделал за свою жизнь. /Фидель Кастро/

Оффлайн spectator

  • Участник
  • *
  • Сообщений: 120
    • Просмотр профиля
Re: Об освобождении памяти
« Ответ #6 : 28 Июля 2011, 10:56:23 »
"При жизни" вроде как всё хорошо, по идее там особо нечему утекать. Премного благодарен.

По запросу vlagring поиск мне предлагает влагалищное кольцо.
valgrind, конечно же.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Об освобождении памяти
« Ответ #7 : 28 Июля 2011, 13:52:40 »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Об освобождении памяти
« Ответ #8 : 29 Июля 2011, 07:18:25 »
да... ну и очепятка =)
но ты попробуй, может тоже помогает

 

Страница сгенерирована за 0.02 секунд. Запросов: 22.