Совместимое объявление должно быть видно, когда определен объект или функция с внешним редактированием
Совместимое объявление должно быть видно, когда определен объект или функция с внешним редактированием.
Если объявление видим, когда объект или функция заданы, это позволяет компилятору проверить, что объявление и определение совместимы.
Это правило с 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