Совместимое объявление должно отобразиться, когда объект или функция с внешним рычажным устройством будут заданы
Совместимое объявление должно отобразиться, когда объект или функция с внешним рычажным устройством будут заданы.
Если объявление отображается, когда объект или функция заданы, это позволяет компилятору проверять, что объявление и определение совместимы.
Это правило с MISRA C:2012 Rule 8.5
осуществляет практику объявления объекта (или функция) в заголовочном файле и включая заголовочный файл в исходных файлах, которые задают или используют объект (или функция).
Средство проверки правила обнаруживает ситуации где:
Объект или функция заданы без предыдущего объявления.
Существует неверный тип данных между объектным или объявлением функции и определением. Такое несоответствие также вызывает ошибку компиляции.
Средство проверки теперь отмечает предварительные определения (переменные, объявленные без extern
спецификатор и не явным образом заданный). Чтобы избежать нарушения правила, объявите переменную static
(заданный только в одном файле), или объявляют переменную extern
и следуйте за объявлением с определением.
Глобальное определение variable_name
переменная не имеет никакого предыдущего объявления.
Функциональный function_name
не имеет никакого видимого совместимого прототипа в определении.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: объявления и определения |
Категория: необходимый |
Категория AGC: консультация |
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