Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Konkin
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 30
#1

Проблемы с выделением памяти - C++

16.06.2012, 23:55. Просмотров 656. Ответов 3
Метки нет (Все метки)

Здравствуйте. Есть контейнер QList <Node *>
В Node свой QList <Node *>.

Строю программное дерево разбора выражение. На небольших деревьях работает нормально, но когда дал ему количество узлов, что уровень вложенности должен был достигнуть примерно 17000, вылетело вот здесь malloc.c

C++
1
2
3
4
5
6
7
8
9
10
11
#ifdef _WIN64
    return HeapAlloc(_crtheap, 0, size ? size : 1);
#else  /* _WIN64 */
    if (__active_heap == __SYSTEM_HEAP) {
        return HeapAlloc(_crtheap, 0, size ? size : 1);
    } else
    if ( __active_heap == __V6_HEAP ) {
        if (pvReturn = V6_HeapAlloc(size)) {
            return pvReturn;
        }
    }
Stack overflow.

Как проконтролировать выделение памяти? Если не хватает, то сообщить об этом пользователю хотя б..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2012, 23:55     Проблемы с выделением памяти
Посмотрите здесь:

C++ ошибка с выделением памяти
C++ Строки с выделением динамической памяти
C++ Конструктор с выделением памяти
C++ Двумерный массив с динамическим выделением памяти
Отличие операции с выделением памяти и без C++
Проблема с выделением памяти C++
C++ Обращение к структуре в классе с выделением памяти
C++ Работа со строками и выделением памяти
C++ Почему не работает 2-мерный массив с выделением памяти?
C++ Задача на строки с выделением памяти
C++ Преобразование кода со статическим выделением памяти в динамическое
C++ Динамическое выделением памяти для массивов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
550 / 503 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
17.06.2012, 00:00     Проблемы с выделением памяти #2
под стэк по умолчанию выделяется определенное количество. рекурсия жрет стэк бешенными темпами. увеличь память стэка.
Konkin
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 30
17.06.2012, 00:07  [ТС]     Проблемы с выделением памяти #3
Цитата Сообщение от novi4ok Посмотреть сообщение
под стэк по умолчанию выделяется определенное количество. рекурсия жрет стэк бешенными темпами. увеличь память стэка.
Его можно увеличить я так понимаю, только в начале программы. А как увеличить если не хватает его размера по ходу выполнения?
novi4ok
550 / 503 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
18.06.2012, 15:31     Проблемы с выделением памяти #4
Цитата Сообщение от Konkin Посмотреть сообщение
Его можно увеличить я так понимаю, только в начале программы. А как увеличить если не хватает его размера по ходу выполнения?
увы, никак. только задав опции компилятору.
Yandex
Объявления
18.06.2012, 15:31     Проблемы с выделением памяти
Ответ Создать тему
Опции темы

Текущее время: 20:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru