Информационные технологииStfw.Ru 🔍

Как посчитать необходимый размер стека?

При вызове процедуры с параметром 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}

И если хоть на один байт уменьшить то будет ошибка.

Вопросы и ответы   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉