Совместимое объявление должно быть видно, когда определен объект или функция с внешним редактированием
Совместимое объявление должно быть видно, когда определен объект или функция с внешним редактированием.
Если объявление видим, когда объект или функция заданы, это позволяет компилятору проверить, что объявление и определение совместимы.
Это правило с MISRA C:2012 Rule 8.5
применяет практику объявления объекта (или функции) в заголовочном файле и включения файла заголовка в исходные файлы, которые определяют или используют объект (или функцию).
Средство проверки правил обнаруживает ситуации, когда:
Объект или функция определяются без предыдущего объявления.
Существует несоответствие типа данных между объявлением объекта или функции и определением. Такое несоответствие также вызывает ошибку компиляции.
Теперь проверка помечает предварительные определения (переменные, объявленные без extern
спецификатор и не определен явным образом). Чтобы избежать нарушения правил, объявите переменную static
(определено только в одном файле) или объявить переменную extern
и следуйте описанию с определением.
Глобальное определение variable_name
переменная не имеет предыдущего объявления.
Функциональные function_name
не имеет видимого совместимого прототипа в определении.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Декларации и определения |
Категория: Требуемая |
Категория СМЖЛ: Консультационная |
Check MISRA C:2012 (-misra3)
| MISRA C:2012 Rule 17.3
| MISRA C:2012 Rule 8.2
| MISRA C:2012 Rule 8.3
| MISRA C:2012 Rule 8.5