История изменений
Исправление KivApple, (текущая версия) :
Для людей в теме - да, элегантно. Любой нормальный эмбедщик знает наизусть лимиты всех типов данных и для него переполнение такой же математический закон, как скажем ассоциативность или коммутативность. Он просто мыслит в этой математике и легко может защититься от переполнения, когда оно не нужно и использовать его, когда оно нужно. А ещё он держит в голове примерный ассемблерный код, который генерит каждая сишная команда (ну хотя бы чтобы оценить каких конструкций стоит избегать).
А между тем это позволяет выжимать из контроллера гораздо больше на многих задачах. И, как я уже сказал, лучше заплатить в 2 раза больше программисту, чем поставить контроллер в 2 раза дороже на миллионах устройств. Чистая экономика.
Исходная версия KivApple, :
Для людей в теме - да, элегантно. Любой нормальный эмбедщик знает наизусть лимиты всех типов данных и для него переполнение такой же математический закон, как скажем ассоциативность или коммутативность. Он просто мыслит в этой математике и легко может защититься от переполнения, когда оно не нужно и использовать его, когда оно нужно. А ещё он держит в голове примерный ассемблерный код, который генерит каждая сишная команда (ну хотя бы чтобы оценить каких конструкций стоит избегать).
А между тем это позволяет выжимать из контроллера гораздо больше на многих задачах. И, как я уже сказал, лучше заплатить в 2 раза больше программисту, чем поставить контроллер в 2 раза дороже на миллионах устройств.