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