Соответствует ли libstdc ++ MISRA C ++? - PullRequest
0 голосов
/ 24 апреля 2018

Это вызвано вопросом, который я задал ранее (по той же теме):

Соответствуют ли библиотеки BLAS и LAPACK стандарту MISRA?

Теперь яесть гораздо более важный вопрос: libstdc ++ (что является реализацией стандартной библиотеки gcc) MISRA C ++: 2008 совместим?Я предполагаю, что ответ да ... до тех пор, пока вы компилируете свой код с gcc и флагом -std=c++03.

Что произойдет, если я скомпилирую код со стандартом из2011 (то есть -std=c++11)?Соответствует ли это стандарту MISRA C ++: 2008?Должен ли я доказать, что libstdc ++ совместим с MISRA?Я могу написать отклонения для пары правил (например, я хочу использовать std::array вместо массивов в стиле C), но написание их для всего стандарта MISRA выглядит как ужасная задача.

Я бы хотелценим любое понимание этой темы.

1 Ответ

0 голосов
/ 25 апреля 2018

Нет, он не совместим с MISRA-C ++.Ни один не glibc.Но тогда от стандарта не требуется, чтобы библиотека была написана на определенном языке.Соответствие стандарту для самой стандартной библиотеки - довольно мутная тема с MISRA или без него.

Я очень сомневаюсь, что MISRA-C ++ является приоритетом для этих библиотек.Сопровождающие библиотеки (и gcc) в основном относятся к Linux / Desktop («размещенная система»), где соответствие MISRA не требуется.

Если вам нужна стандартная библиотека, совместимая с MISRA, вам придется взглянуть на различные коммерческие компиляторы встроенных систем.

Что произойдет, если я скомпилирую код со стандартом 2011 года?Это совместимо с MISRA C ++: 2008?

Нет, это не соответствует.MISRA-C ++ явно требует, чтобы вы использовали C ++ 03, поэтому здесь будет очень сложно обосновать отклонение.

Должен ли я доказать, что libstdc ++ совместим с MISRA?

Нет способа доказать это, поскольку это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...