... но не любой ценой.
-
- Анонимность состояний Protothreads это не священная корова. Лечится, если нужно. Вопрос не в выборе между switch, goto или Protothreads. Переход через точку входа должен изменить состояние, иначе это не документируется (разве что вручную), а кроме Vit(204 знак., 15.04.2019 15:32)
- Есть состояние, а есть дуги переходов. Скрипач(501 знак., 15.04.2019 16:05 - 16:10)
- Я пользуюсь goto и не стесняюсь. Но goto, необходимые для алгоритма, а не для работы с анонимными состояниями, у меня обернуты - добавляется изменение переменной состояния. Я показал как при switch можно обеспечить переход на ТОЧКУ ВХОДА из Vit(1042 знак., 15.04.2019 17:08)
- Ничего не поделаешь, я ставил перед собой задачу подружить именно protothreads с проименованными состояниями. Скрипач(385 знак., 15.04.2019 21:03 - 21:06)
- Я пользуюсь goto и не стесняюсь. Но goto, необходимые для алгоритма, а не для работы с анонимными состояниями, у меня обернуты - добавляется изменение переменной состояния. Я показал как при switch можно обеспечить переход на ТОЧКУ ВХОДА из Vit(1042 знак., 15.04.2019 17:08)
- Есть состояние, а есть дуги переходов. Скрипач(501 знак., 15.04.2019 16:05 - 16:10)
- Вы наверно, в каком-то другом мире живете, где есть время на документирование ПО, остается только завидовать. - VLLV(15.04.2019 14:35)
- Да, в другом (хмуро). И на документирование ПО, и на журнал версий ПО, и на code review. - Скрипач(15.04.2019 14:45 - 14:52)
- Если уж коверкать слова, предлагаю не прототриды, а пуськи бятые. Ну и switch всего лишь потому, что в рамках стандартного Си только так и можно. GCC даёт расширение "labels as values", с ним гораздо эффективнее. - SciFi(15.04.2019 14:17 - 14:21)
- 1) Исправил 2) А вы готовы закладывать в архитектуру уникальную особенность одного единственного (хоть и мега-крутого) компилятора? Скрипач(57 знак., 15.04.2019 14:34)
- Целых два компилятора: GCC и Clang. - LightElf(12.05.2025 12:40)
- Учитывая то, что компиляторов С всего лишь три (да и то, третий -
sdcc - исключительно для микроконтроллеров), получаем абсолютное
большинство. - Eddy_Em(12.05.2025 14:03)
- Сильно больше трех. Только у меня штук пять используется. - LightElf(12.05.2025 14:06)
- Свободных? И какие же? Есть лишь три сишных компилятора: gcc, шланг
и sdcc. Несвободные считаем несуществующими. Т.к. несвободным
софтом пользоваться - западло! - Eddy_Em(12.05.2025 14:07)
- OpenWatcom, LCC, TCC - это только более-менее на слуху. - LightElf(12.05.2025 14:12)
- Свободных? И какие же? Есть лишь три сишных компилятора: gcc, шланг
и sdcc. Несвободные считаем несуществующими. Т.к. несвободным
софтом пользоваться - западло! - Eddy_Em(12.05.2025 14:07)
- Сильно больше трех. Только у меня штук пять используется. - LightElf(12.05.2025 14:06)
- Учитывая то, что компиляторов С всего лишь три (да и то, третий -
sdcc - исключительно для микроконтроллеров), получаем абсолютное
большинство. - Eddy_Em(12.05.2025 14:03)
- А я и не закладываю. Просто GCC даёт ускоренный вариант, достаточно подсунуть компилятору в командную строку правильный define, в остальном всё можно оставить как везде. Кстати, таки protothreads. И никакой он не Дункан :-) - SciFi(15.04.2019 14:39, ссылка)
- А что со switch делать, если они в исходниках есть, а хотим прыгнуть на компилятор, который не умеет? Кроме того, это будет вторая (другая) переменная состояния, вы точно этого хотите? :) Скрипач(45 знак., 15.04.2019 14:43)
- А зачем "прыгать на компилятор", который это не умеет? Пытаться код
с STM32 на STM8 перенести (увы, под STM8 gcc не умеет, поэтому
приходится убогий sdcc использовать)? Eddy_Em(167 знак., 12.05.2025 14:06)
- Есть еще TCC и LCC, с которыми есть шансы столкнуться. - LightElf(12.05.2025 14:09)
- Но зачем, когда есть gcc? Eddy_Em(70 знак., 12.05.2025 14:11)
- Затем, что gcc не умеет, например, в Эльбрус. И комилить на ходу прямо в ОЗУ - тоже. А гугол про LCC врет. - LightElf(12.05.2025 14:16)
- Но зачем, когда есть gcc? Eddy_Em(70 знак., 12.05.2025 14:11)
- Есть еще TCC и LCC, с которыми есть шансы столкнуться. - LightElf(12.05.2025 14:09)
- А зачем "прыгать на компилятор", который это не умеет? Пытаться код
с STM32 на STM8 перенести (увы, под STM8 gcc не умеет, поэтому
приходится убогий sdcc использовать)? Eddy_Em(167 знак., 12.05.2025 14:06)
- А что со switch делать, если они в исходниках есть, а хотим прыгнуть на компилятор, который не умеет? Кроме того, это будет вторая (другая) переменная состояния, вы точно этого хотите? :) Скрипач(45 знак., 15.04.2019 14:43)
- Целых два компилятора: GCC и Clang. - LightElf(12.05.2025 12:40)
- 1) Исправил 2) А вы готовы закладывать в архитектуру уникальную особенность одного единственного (хоть и мега-крутого) компилятора? Скрипач(57 знак., 15.04.2019 14:34)
- Анонимность состояний Protothreads это не священная корова. Лечится, если нужно. Вопрос не в выборе между switch, goto или Protothreads. Переход через точку входа должен изменить состояние, иначе это не документируется (разве что вручную), а кроме Vit(204 знак., 15.04.2019 15:32)