Skip to main content

Конференции

Просмотр конференции fido7.pushkin.rss.easyelectronics.ru:

Предыдущее Следующее

Дата: 01 Jul 2018, 17:00:10
От: RSS robot @ 2:5020/2140.2140
Кому: All
Тема: MISRA C


http://feedproxy.google.com/~r/easyelectronics/~3/h5jl2VKKIcI/misra-c.html

MISRA — это Motor Industry Software Reliability Association группа разработавшая стандарт языка Си для ответственных встраиваемых систем. Для таких как автомобильная или авиационная техника,
разных опасных производств. Где цена программной ошибки может быть очень высока. Это набор ужесточающих правил для языка Си. Есть версия и для С++, но не суть. Вся прелесть в том, что MISRA C
поддерживается некоторыми компиляторами и если добавить соответствующие ключи, то они будут проверять код еще и на соответствие MISRA C, например IAR. Есть и отдельные анализаторы кода на
соответствие стандарту. Ну, а сама суть стандарта в том, чтобы осложнить жизнь разным быдлокодерам и любителям красиво повыебываться в коде :) Там, например, запрещено пихать в заголовок for все
кроме стандартных опций жизнеобеспечения цикла. Запрещены стандартные типы вроде char или int которые зависят от архитектуры. Только жестко описанные типы вроде uint8_t. Запрещены switch без default,
а case и if/else без заключения содержимого в { } блоки. Запрещена указательная арифметика и все в таком духе. Таких правил там штук под двести. Настоящий концлагерь для кодера, где ничего нельзя :)
Зато сделать тупую ошибку становится сложней. Так вот, к чему я. Недавно наткнулся на хороший перевод правил MISRA C для IAR. От Андрея Шлеенкова. Вот, делюсь :)

--- rss2mail.pl
Origin: RSS robot (2:5020/2140.2140)

Предыдущее Следующее

К списку сообщений
К списку конференций