Как посчитать необходимый размер стека?
При вызове процедуры с параметром a:M, где M=array[1..99,1..99] of integer выдается ошибка Stack overflow error. Как это исправить?
🕛 05.12.2010, 23:24
Нужно увеличить размер стека.Точная формула для расчёта нужного кол-ва байт в стеке:
S=S1+548 где S ─ размер стека; S1 ─ max{размер памяти любого идентификатора} Т.е. в данном примере расчитывается так: S=99*99*2+548=20150; Т.е. Min размер стека можно указать таким код Pascal/Delphi 1: {$M 20150,0,655360}
И если хоть на один байт уменьшить то будет ошибка.