MISRA C Правило 11.3 Приведение не должно выполняться между указателем на тип объекта и указателем на другой тип объекта - PullRequest
0 голосов
/ 15 марта 2020

Это правило применяется к неквалифицированным типам, на которые указывают указатели. что это означает?

Исключение Разрешено преобразовывать указатель на тип объекта в указатель на один из типов объекта char, знаковый char или unsigned char. Стандарт гарантирует, что указатели на эти типы могут использоваться для доступа к отдельным байтам объекта.

Мне нужны некоторые примеры, как положительные, так и отрицательные для вышеупомянутого исключения, даже если я прочитал это MISRA C -2012 Нарушение правила 11.3 при попытке выполнить преобразование типов из указателя на тип char

Следующий пример соответствует требованиям, поскольку правило применяется к неквалифицированным типам указателей. Это не препятствует тому, чтобы спецификаторы типа были добавлены к типу объекта.

пример:

const short *p;
const volatile short *q;
q = ( const volatile short * ) p; /* Compliant */ 

что означает строка Не препятствует добавлению определителей типа к типу объекта?

Я работаю над инструментом проверки и мне нужна помощь. Спасибо:)

...