Помощь - Поиск - Пользователи - Календарь
Полная версия: FP Run-time errors
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Free Pascal, Pascal ABC и другие
compiler
Добрый день!
из-за чего может случаться переполнение стека?
Заранее благодарен.
volvo
Рекурсия глубокая, или большие массивы передаются по значению в процедуры/функции, или размер локальных переменных превышает размер стека (нужное подчеркнуть)... Возможны и варианты; чтобы сказать точнее - надо смотреть код.
compiler
Цитата(volvo @ 10.07.2007 15:55) *
Рекурсия глубокая...или размер локальных переменных превышает размер стека
а какая рекурсия глубокая? и как узнать размер стека?
volvo
Может и при 5-ти уровнях переполняться:

procedure x(level: integer);
var arr: array[1 .. 15000] of integer;
begin
if level > 5 then exit;
x(level + 1);

end;

begin
x(0);
end.



Цитата
как узнать размер стека?
Узнать - Options -> Memory Sizes
Изменить - {$M stacksize, heapsize}
compiler
Цитата(volvo @ 10.07.2007 15:55) *
чтобы сказать точнее - надо смотреть код.
можна я тебе покажу код в привате?
volvo
Ну, покажи smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.