[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Если речь идет о сравнительно большом МК типа AVR,MSP430 и выше,
с регистровым файлом в ядре и нормальным стеком,
и компиляторах для них от ИАР, то несомненно, что второй вариант предпочтительнее.
А если речь о МК типа PIC-а, то могут быть варианты.
Я сейчас как раз борюсь с HT-PICC:
1.Длинные выражения с арифметическими действиями с int,long
иногда просто не компилируются: компилеру не хватает предусмотренных
буферных(временных) регистров и он генерирует ошибку
"can’t generate code for this expression"
(This expression is too difficult for the code generator to handle. Try simplifying the expression, e.g. using a temporary variable to hold an intermediate result.)
2.Недостатки компилятора приводят к тому, что код, генерируемый при
работе с явно объявленными временными переменными гораздо эффективней,
чем при работе с неявными временными переменными! Если программной
памяти в обрез, приходится все время смотреть листинг и подстраиваться
под то, что компилер понимает лучше. Редкий геморрой!:(((
E-mail: info@telesys.ru