| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > проблема с памятью |
| Автор: crazylam 19.5.2007, 12:54 |
| Здравствуйте! Есть проблема.. очень срочная большая проблема. В большом проекте на С++ вдруг стали возникать странные баги с выделением памяти, с хипом,.... Периодически выбрасываются ексепшены на операторах new и delete (типа памяти мало), malloc может 0 вдруг вернуть, std:vector<>.push_back() (и pop_back тоже) не работает иногда... Было бы очень кстати, если бы кто-нибудь, у кого встречалась такая проблема, описал бы СВОИ (не обязательно наши Зарание спасибо... |
| Автор: vinter 19.5.2007, 12:59 |
| компилятор, код |
| Автор: bsa 22.5.2007, 12:47 |
| Думаю все просто. Есть утечка памяти и через 2 часа вся память (в т.ч. и виртуальная) подходит к концу. Вот тогда и начинает malloc выдавать 0... еще возможен вариант сильной фрагментации памяти. Но я никогда такого не встречал. |
| Автор: Daevaorn 22.5.2007, 12:56 |
Пугает такой винегрет как таковой. |
| Автор: threef 22.5.2007, 15:06 |
| Из вышесказанного можно только разве посоветовать: раздели тематически свои переменные на группы, для каждой используй отдельный менеджер памяти. Как только группа выбывает - уничтожай менеджер. Обрати внимание на сказанноеDaevaorn, смешение стилей , конечно же - плохой стиль ;) |
| Автор: bsa 22.5.2007, 15:09 | ||
Если не ошибаюсь, это называется pool. Есть уже готовые, например: http://www.boost.org/libs/pool/doc/index.html |