MISRA C++:2008 Rule 16-6-1

Все использование #pragma директивы должно быть зарегистрировано

Описание

Управляйте определением

Все использование #pragma директивы должно быть зарегистрировано.

Объяснение

Поскольку поведения #pragma директивы зависят на съемочной площадке программного обеспечения, оборудования и компиляторов, которые вы используете, намерение разработчика для #pragma направляющая сила быть неясным. Ясно передавать намерение разработчика и ожидаемое поведение #pragma директива, для каждой из этих директив, документа:

  • Значение

  • Подробное ожидаемое поведение

  • Значение директивы для кода

Документ предыдущее включает достаточную деталь, чтобы показать, что вы полностью понимаете что #pragma направляющее среднее значение и как они могут повлиять на код. Избегайте использования #pragma директивы как можно больше. Инкапсулируйте их использование в специализированных функциях, когда это возможно.

Реализация Polyspace

Чтобы проверять это правило, перечислите прагмы, которые позволены в исходных файлах при помощи опции Allowed pragmas (-allowed-pragmas). Если Polyspace® находит прагму не в позволенном списке прагм, нарушение повышено.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Проверяйте информацию

Группа: предварительная обработка директив
Категория: документ
Введенный в R2017b