|
В С Кейл для 51 по умолчанию запрещены рекурсивные вызовы. Это связано с тем, что локальные переменные компилятор хранит не в стэке, а отводит для каждой функции статическую область памяти для их хранения. У Вас в функции F1 может вызываться, в т.ч., та же F1. Рекурсия получается. Есть способ, не помню каким заклинанием, сказать чтобы функция была рекурсивно-вызываемой. Но там генерится страшный код, медленный, большой, потребляющий больше ОЗУ. Кривовата 51 архитектура. У любого проца с нормальным стэком компиляторы С, по умолчанию, генерят функции допускающие рекурсию.
E-mail: info@telesys.ru