Человек
97 / 82 / 7
Регистрация: 16.06.2009
Сообщений: 229
|
|
1 | |
Stack overflow.17.06.2009, 10:31. Показов 6931. Ответов 6
Метки нет (Все метки)
У меня в программе есть реверсивная функция (много параметров) она вызывает себя очень много раз. Во время выполнения программы возникает ошибка Stack overflow.
Может кто-то знает, как в компиляторе (Visual Studia 2005 или Dev-C++ ) поставить больший размер стека? Или может функцию лучше разбить на несколько?( Добавлено через 3 минуты 39 секунд
0
|
17.06.2009, 10:31 | |
Ответы с готовыми решениями:
6
stack overflow Stack overflow Stack overflow Непонятный Stack Overflow |
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
17.06.2009, 11:43 | 2 |
MSDN
другой способ: в параметрах проекта прописать в меню "компоновщик"-"система" строка "резервируемый размер стека" - объем в байтах или ключ компоновщика "/STACK:xxxx" xxx - размер в байтах
1
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
17.06.2009, 12:23 | 4 |
0
|
17.06.2009, 12:29 | 5 |
Вопроса не понял.
Грубо говоря, компилишь ты в a.out и у тебя нет возможности задать размер стека при исполнении a.out. Но когда внутри a.out ты создаёшь поток, то при создании потока можно указать для него (потока) размер стека
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
17.06.2009, 12:33 | 6 |
т.е., изменить размер своего стека под линухом нельзя?
только при создании другого потока, указав в параметрах функции? мдя-я-а-а...
0
|
17.06.2009, 12:46 | 7 |
У меня нет 100% уверенности, но вроде бы нет. Может быть на последних версиях линуха и можно, но года 3 назад мы не смогли, только изменив настройку в ядре
1
|
17.06.2009, 12:46 | |
17.06.2009, 12:46 | |
Помогаю со студенческими работами здесь
7
Переполнение (Stack overflow) Почему stack overflow? Необработанное исключение Stack overflow Разобраться с рекурсией: stack overflow Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |