Попробуйте без goto сделать конечный автомат в прерываниях, на всех других операторах это будет быдлокод (по скорости выполнения)...
Aseris писал(а):goto очень плохо обрабатываются анализаторами кода.
Aseris писал(а):Динамическое использование памяти ето ад для тестов.
Обьясняю задача A хочет динамически 100 байт B - 200, C - 300, heap - 500.
a+b - ok , a+b - ok a+b+c - hard fault. А динамический анализ памяти очень нетривиальная задача для сложных систем.
Обычно выделяются статически буферы.
Aseris писал(а):А вобще при разработке либо пользуются протоколами от гигантов индустрии ( бесплатно для своих чипов), либо протокол готовой платформы, либо пишется сугубо свое специализированое. В концепте самое сложное описание протокола и его тестирование. кодирование эт уже мелоч.
Aseris писал(а):P.S. к наличию goto в языках - поросенок тоже дом построил из соломыи он даже некоторое время стоял

cheblin писал(а):Aseris писал(а):goto очень плохо обрабатываются анализаторами кода.
lorry писал(а):cheblin писал(а):Aseris писал(а):Просто применение команды goto считается в среде программистов "правилом плохого тона", из за ухудшения читаемости и понимания кода, а это, в свою очередь может привести к ошибкам в написании самого кода.
if (State != STATE_READY)
{
errorcode = BUSY;
goto error;
}
error:
return errorcode;
с ростом сложности, количеством состояний и их связанностью использование goto может стать тихим ужасом, в котором долго и трудно разобраться, всё трудней переделывать порядок выполнения, добавлять/удалять "стадии выполнения", искать ошибки,... особенно количество тех же проверок чего стоят - если s=.., тогда сейчас прыгаем туда. а если s=.., но f=.., тогда прыгаем туда. а если ещё к этим условиям добавить рандомный выбор, куда прыгать, ух какое чудное поведение бибобота будет.
ни итераторах без единого goto можно сделать просто, наглядно, с легко изменяемым порядком выполнения (хоть во время выполнения программы, без правки кода, перекомпиляции и перезаливки прошивки).lorry писал(а):Просто применение команды goto считается в среде программистов "правилом плохого тона"

Иногда goto все-же делает код читабельнее, благодаря чему он до сих пор широко используется, несмотря на все заявления его противников.
Я чувствую, что моя версия на C ++ неправильно реализует парадигму обработки исключений; на самом деле, версия C ++ кажется еще менее читаемой и более подверженной ошибкам из-за сборки кода очистки, накапливаемого в блоках catch при увеличении функции.

Angel71 писал(а):допустим нужно будет изменить порядок выполнения, добавить или удалить. так, здесь переходили на label1, меняем на label5. label3 удаляем, ищем все переходы на него и меняем на label4. с ростом сложности, количеством состояний

так что не нуна, не нуна так размашисто про тактики и байтики.Angel71 писал(а):эмбенд эмбэнду рознь. если у тебя тинька/мега хиленькая


да, удобно, ну так это ты только недавно это понял.Dmitry__ писал(а):Любая конструкция "if", "switch" компилятором превращается в goto, есть основание задуматься. Goto - основная команда любого контроллера![]()
Попробуйте без goto сделать конечный автомат в прерываниях, на всех других операторах это будет быдлокод (по скорости выполнения)...
Angel71 писал(а):весь мир кухарки, один ты граф

И вся твоя демагогия с "взять интель и высокий язык" и не париться - рушится от простой и надежной avr в bldc 

Angel71 писал(а):т.е. настолько упоротый, что tgy на мегах это идельно для всего? молодец.

Angel71 писал(а):а то, что для векторного управления есть более подходящие мк

Dmitry__ писал(а):но вот как раз вызов функций в прерываниях и есть - моветон
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0