Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите освободить память

59K
27 мая 2010 года
MaJa
2 / / 27.05.2010
Я пишу программу, которая генерирует астероид в 3D. И этот процесс довольно много съедает памяти, так вот проблема в том, что я никак не могу сделать её освобождение при повторной генерации.
Я выкладываю полный исходник http://slil.ru/29215043 (для компиляции нужен Microsoft Visual C++ 6.0 и подключен SDK DirectX 9)
А теперь куда смотреть:
в файле Main.cpp
объявляются объекты
 
Код:
...
mjSurface Surface;
mjGeoSphere Asteroid;
mjTransform Tramsform;
...

потом они инициализируются при нажатии кнопки Посчитать, то есть генерируется астероид:
 
Код:
...
mj->Asteroid.Gen(&mj->Render,mj->Input1.getInt());
mj->Tramsform.Run(&mj->Asteroid,mj->getMetod());
mj->Surface.Load(&mj->Render,&mj->Asteroid);
...

Если потом нажать F1, попадаешь в главное меню и нажать снова Посчитать, астероид снова генерируется, но память не очищается.
Объявление и описание этих объектов находится в файлах:
mjSurface - mjSurface.h, mjSurface.cpp
mjGeoSphere - mjGeoSphere.h, mjGeoSphere.cpp
mjTransform - mjTransform.h, mjTransform.cpp
а так же в mjSurface используется объект mjNode (самый массивный по памяти), который объявлен и описан в mjNode.h, mjNode.cpp

Буду рад любой помощи
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог