C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблемы с памятью и созданием переменных, прога отжирает память каждый раз
Dmitri
  Отправлено: 08.01.2004, 10:18


admin@localhost

Группа: Модератор
Сообщений: 110



Добрый день! Подскажите, пожалуйста, почему моя программа постепенно (чем больше я вызываю главную расчетную функцию, тем быстрее) забивает оперативную память все больше и больше (от 4 Mb до 30 Mb)?

Суть расчетной функции такова: выделяется память под более 100 динамических массивов с 3000 элементами в каждом
CODE

float* a1 = new float[3000];

// ...

float* a120 = new float[3000];

В конце функции я все эти массивы удаляю
CODE

delete [] a1;

// ...

delete [] a120;

Но, помимо этого, в функции каждый раз при ее запуске я объявляю более 500 переменных типа float и double. Не происходит ли при этом переполнение стека или что-нибудь подобное?

Вообще, где можно почитать про выделение памяти, стек и т. д.?

И что делать в моей ситуации, чтобы не "забивать" память настолько, а переменные-то нужны, и все 500?
** pasha
Отправлено: 08.01.2004, 13:43


Не зарегистрирован







Может не всё созданное по new удаляете ?
Или эта расчетная функция вызывает другие функции,
которые где-то не освобождают память.
Или память забивает не эта расчетная функция,
а сама программа, ведь между вызовами расчетной
функции что-то происходит и в вызывающей программе,
возможно память отнимается там.


Dmitri
  Отправлено: 08.01.2004, 17:42


admin@localhost

Группа: Модератор
Сообщений: 110



Нет, дело не в этом. Всем, кто хочет помочь (ОЧЕНЬ прошу), читайте мои объяснения здесь: http://forum.codenet.ru/showthread.php?s=&...52326#post52326
fellow
Отправлено: 08.01.2004, 18:30


Дежурный стрелочник

Группа: Участник
Сообщений: 33



Коллега Dmitri, смотрите мой ответ там же.

Вернуться в Вопросы программирования в C++Builder