-
- если есть встроенный тип bool забейте и оставьте как есть Aleksey_75(106 знак., 21.09.2020 00:59)
- Говнокод детектед. Как минимум надо #define true (!false). Ну и
делать вид, что самопальный bool работает так же, как настоящий --
это обман, он работает иначе. То есть раскидывание граблей. Надо
как минимум назвать это всё по-другому. - SciFi(21.09.2020 09:05)
- Я свой обозвал иначе, т.е. этой ловушки избежал, но в чём
инаковость работы? - teap0t(21.09.2020 09:08)
- Вот: SciFi(267 знак., 21.09.2020 09:12)
- Спасибо. Согласен с VLLV. И, кстати, периферийная библиотека ST всегда ведёт сравнение в форме teap0t(312 знак., 21.09.2020 09:53)
- Вот сразу понятна ущербность bool в виде избыточности. Вообще надо отказаться от лишней сущности и все сравнивать с 0. Все проще ровно в два раза, и это исходные подходы С, это потом развели костылей. - VLLV(21.09.2020 09:17)
- Вот: SciFi(267 знак., 21.09.2020 09:12)
- Я свой обозвал иначе, т.е. этой ловушки избежал, но в чём
инаковость работы? - teap0t(21.09.2020 09:08)
- Ага. Учту такой вариант. Оставить "как есть" не получается -
предупреждения выползают. - teap0t(21.09.2020 01:03)
- С определенным и используемым из #include <stdbool.h>
есть проблемы? - RxTx(21.09.2020 01:56)
- В учебном проекте эта библиотека не используется, но в одном из
заголовочных файлов есть очень похожая запись. В проекте teap0t(255 знак., 21.09.2020 02:07)
- MISRA ругается потому что для безопасности они не рекомендуют
пользоваться обще-генеральными типами int, long итд. Какую длину в
байтах будут иметь эти типы зачастую предсказать тяжело и это ведет
к ошибкам. Вместо этого они рекомендуют пользоваться встроенными
типами у которых в точности известен размер: <inttypes.h> RxTx(1381 знак., 22.09.2020 20:27)
- MISRA2004 требует использования стандарта C89 (правило 1.1 обязательное). Я до него пока не дошёл (вернее дошёл, но там столько ошибок вылезает, что я опух слегка). Так что о типе bool придётся забыть. Если я правильно понимаю мисру, то конструкцию if (var) { она пропустит (правило 12.6 обязательное), только если var имеет логический тип (хотя в примере к правилу 16.9 даётся пример корректного кода if( func() ) {}). Тут непонятно, т.к. teap0t(395 знак., 22.09.2020 21:33)
- По-моему, мисра -- это не рекомендации. Это запреты в стиле
гестапо. Шаг влево, шаг вправо -- расстрел. - SciFi(22.09.2020 20:27)
- Вся эта ржака с бешеными автомобилями началась отсюда: RxTx(48 знак., 22.09.2020 20:36, ссылка, ссылка)
- История с тоётой -- это про то, как америкашки япошек раскулачивали, ЕМНИП. - SciFi(22.09.2020 21:21)
- Причем я сталкивался с японским кодом (для игр) и как бы не удивляюсь, это очень характерно для японцев. Ну там годзиллы, тентакли, бродячие замки, хентай, лоликон, буккакэ... Они такие :))) - RxTx(22.09.2020 20:45)
- Вся эта ржака с бешеными автомобилями началась отсюда: RxTx(48 знак., 22.09.2020 20:36, ссылка, ссылка)
- MISRA ругается потому что для безопасности они не рекомендуют
пользоваться обще-генеральными типами int, long итд. Какую длину в
байтах будут иметь эти типы зачастую предсказать тяжело и это ведет
к ошибкам. Вместо этого они рекомендуют пользоваться встроенными
типами у которых в точности известен размер: <inttypes.h> RxTx(1381 знак., 22.09.2020 20:27)
- В учебном проекте эта библиотека не используется, но в одном из
заголовочных файлов есть очень похожая запись. В проекте teap0t(255 знак., 21.09.2020 02:07)
- С определенным и используемым из #include <stdbool.h>
есть проблемы? - RxTx(21.09.2020 01:56)
- Говнокод детектед. Как минимум надо #define true (!false). Ну и
делать вид, что самопальный bool работает так же, как настоящий --
это обман, он работает иначе. То есть раскидывание граблей. Надо
как минимум назвать это всё по-другому. - SciFi(21.09.2020 09:05)
- если есть встроенный тип bool забейте и оставьте как есть Aleksey_75(106 знак., 21.09.2020 00:59)