ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
397752 Топик полностью
Vladimir Ljaschko (28.03.2013 11:19, просмотров: 220) ответил nanorobot на IAR + оптимизация. При высоких(выше чем Low)уровнях оптимизации имею разнообразные глюки(IAR ARM 6.50.2+STM32F205). Можно ли сформулировать некие общие принципы кодирования, позволяющие избежать этой напасти?
Перенес потому что 1) тема действительно шире 2)столкнулся с непонятным поведением компилятора MSP430 Автомат состояний в виде массива функций по индексу состояния. Свойства состояний описаны в константном массиве. При оптимизации не выполняется проверка свойства, а действие производится в любом случае. Что ж, проверим, кто из нас дурак ... const uchar properties[stQty] = { ...}; #define OLD 0x04 // set state.old=state.i if evNew after function ... function[state.i](); if (properties[state.i]&OLD) // проверка исключается при оптимизации state.old_=state.i;