LINUX.ORG.RU

История изменений

Исправление no-such-file, (текущая версия) :

зачем функция хранит свои формальные параметры на стеке

Там и локальные переменные хранятся. Хотя и не обязательно хранить данные именно на том же стеке где хранятся переходы. Например в форте 2 отдельных стека, один для данных, другой для возвратов.

Суть в том, что параметры и переменные нужно куда-то класть и если это будет не стек, а просто область данных, то при рекурсивном вызове функции предыдущие параметры затрутся. А на стеке при каждом вызове ты получаешь новый фрейм. При выходе освобождаешь, причём не нужно следить, где что лежит, а тупо переместить указатель стека туда где был до вызова.

Исходная версия no-such-file, :

зачем функция хранит свои формальные параметры на стеке

Там и локальные переменные хранятся. Хотя и не обязательно хранить данные именно на том же стеке где хранятся переходы. Например в форте 2 отдельных стека, один для данных, другой для возвратов.

Суть в том, что параметры и переменные нужно куда-то класть и если это будет не стек, а просто область данных, то при рекурсивном вызове функции предыдущие параметры затрутся. А на стеке при каждом вызове ты получаешь новый фрейм.