Идентификатор с внешней связью должен иметь только одно внешнее определение
Эта проверка деактивируется в анализе Polyspace ® по умолчанию в качестве кода. См. раздел Шашки, деактивированные в Polyspace как анализ кода по умолчанию (Polyspace Bug Finder Access).
Идентификатор с внешней связью должен иметь ровно одно внешнее определение.
Если используется идентификатор, для которого существует несколько определений в разных файлах или отсутствует определение, поведение не определяется.
Несколько определений в разных файлах не допускаются этим правилом, даже если определения совпадают.
Средство проверки помечает несколько определений только в том случае, если они содержатся в разных файлах.
Средство проверки не рассматривает предварительные определения в качестве определений. Например, следующий код не нарушает правило:
int val; int val=1;
Средство проверки не показывает нарушение, если функция вообще не определена, но объявлена с внешней связью и вызвана в исходном коде.
Polyspace Bug Finder™ и Polyspace Code Prover™ проверки этого правила кодирования по-разному. Анализ может дать различные результаты.
Запрещено несколько определений для функции function_name.
Запрещено несколько предварительных определений для объекта object_name.
Глобальная переменная variable_name умножение определено.
Функция function_name умножение определено.
Глобальная переменная имеет несколько предварительных определений.
Неопределенная глобальная переменная variable_name.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Объявления и определения |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |