[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Но в общем в этой конфе тусуется народ, который часто пользуется именно "ИСКЛЮЧИТЕЛЬНЫМИ случаями (ПИК, 51, ????)" , так что я и вынес на обсуждение именно такие компиляторы.
Согласитесь, что для процессоров с такой архитектурой, как PIC (где стек - только для адресов функций !!!) ЕДИНСТВЕННЫЙ путь - считать размер локальных переменных на этапе линковки - иначе вы не сможете узнать, хватает ли вам памяти или нет. Кстати, HI-TECH ругается, если слишком много вложенных локальных переменных - говорит, что не хватает памяти - поэтому в нем используется такой механизм.
А вот AVR - покруче архитектура, и поэтому (как недавно сообщили) - там динамический стек (что само по себе очень приятно). Только вот вопрос - если есть возможность у компилятора "ругаться" на недопустимо маленький размер памяти под локальные переменные , то все равно как-то надо контролировать его размерчик на этапе линковки.
E-mail: info@telesys.ru