Функции и объекты не должны быть заданы с внешней связью, если на них ссылаются только в одном модуле перевода
Функции и объекты не должны быть заданы с внешней связью, если на них ссылаются только в одном модуле перевода.
Соответствие с этим правилом избегает беспорядка между вашим идентификатором и идентичным идентификатором в другом модуле перевода или библиотеке. Если вы ограничиваете или уменьшаете видимость объекта путем предоставления ему внутренней связи или никакой связи, вас, или кто-то еще, менее вероятно, получит доступ к объекту непреднамеренно.
Флаги средства проверки правила:
Объекты, которые задаются в осциллографе файла без спецификатора static
, но используются только в одном файле.
Функции, которые заданы без спецификатора static
, но названы только в одном файле.
Если вы намереваетесь использовать объект или функцию в одном файле только, объявите его статичный.
Polyspace® Bug Finder™ и Polyspace Code Prover™ проверяют это правило кодирования по-другому. Исследования могут привести к различным результатам.
Переменный variable_name
должен иметь внутреннюю связь.
Функциональный function_name
должен иметь внутреннюю связь.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: объявления и определения |
Категория: консультация |
Категория AGC: консультация |
Язык: C90, C99 |