ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
270550 Топик полностью
fk0, легенда (07.09.2011 11:17, просмотров: 405) ответил fk0 на Потому, что: 1) это мало что поменяет -- в каждом состоянии ещё условия проверяются. Ну даст экономию 20% -- легче? 2) Такой код трудно воспринимать и легко ошибиться. 3) контроллеры профессионального уровня (PIC) не имеют аппаратного стека и
По п.3 я имел ввиду подход, когда каждое состояние кодируется отдельной функцией (для проверки условий перехода), вызваемой по-указателю. "По индексу переменной состояния" -- эту оптимизацию компилятор умеет делать автоматически, для оператора switch. При менее чем ~8 вариантах выбора она не делается (тупо сравнивать и условный переход, опять же быстрее, на контроллерах профессионального уровня, где иначе через TBLRD с каждым байтиком указателя мучаться).
[ZX]