MISRA C++:2008 Rule 7-3-1

Глобальное пространство имен должно содержать только основные объявления пространства имен и внешние объявления «C»

Описание

Определение правила

Глобальное пространство имен должно содержать только основные объявления пространства имен и внешние объявления «C».

Объяснение

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

Реализация Polyspace

Кроме main функция, чекер помечает все имена, используемые в глобальных возможностях, которые не являются частью пространства имен.

Чекер не помечает имена в глобальных возможностях, если они объявлены в extern "C" блоки (Коды С включены в Код С++). Однако, если вы используете опцию Ignore link errors (-no-extern-c), эти имена также помечены.

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

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

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

Группа: Объявления
Категория: Требуемая
Введенный в R2013b