Форум: "Основная";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
ВнизУменьшить использование памяти... Найти похожие ветки
← →
blackgrin (2003-06-02 23:07) [0]Уважаемые мастера!
У меня есть процедура и в ней достаточно много переменых. Эта процедура Выполняется очень много раз(5-10 тысяч) и в следствии (я так полагаю этого) приложение при каждом обращении к этой процедуре загребает под себя еще определёный объем памяти. В итоге по свединиям винды приложение забрало 300-400 М ОЗУ :( Как сделать так, чтоб при обращении к процедуре не отгребался кусок памяти а просто брался постоянно один и перед каждым выполнением процедуры - обнулялся.
Заранее спасибо!
← →
Endi (2003-06-02 23:10) [1]Попробуй сделать DLL с этой процедурой и далее в теле программы вызывать ее при начале использования и по окончании освобождая память от нее.
← →
Xoy (2003-06-02 23:16) [2]попробуй сделать переменные глобальными
← →
blackgrin (2003-06-02 23:22) [3]Endi, попробую...
Xoy, программа на 5 тыс. строк и там куча процедур, и я уверен что будут накладки вида одно имя переменой но разные типы. Эта мысль у меня появлялась уже ...
← →
Юрий Зотов (2003-06-02 23:37) [4]> приложение при каждом обращении к этой процедуре загребает
> под себя еще определёный объем памяти...
...а после выхода из этой процедуры ровно такой же объем освобождает. Уж не говоря о том, что локальные переменные размещаются в заранее распределенном стеке, то есть дополнительной памяти не требуют.
Так что Ваше предположение вряд ли верно. Скорее всего, утечка памяти происходит из-за того, что где-то Вы не уничтожаете какие-то динамически создаваемые объекты, или не освобождаете динамическую память, или еще что-то в этом духе.
А чтобы сказать точнее, нужно видеть код.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c