exponenta event banner

Игнорировать инициализацию глобальных переменных по умолчанию (-no-def-init-glob)

Считать глобальные переменные неинициализированными, если они явно не инициализированы в коде

Описание

Этот параметр применяется только к программе проверки кода. Это не влияет на анализ Bug Finder.

Укажите, что Polyspace ® не должен рассматривать глобальные и статические переменные как инициализированные, если они явно не инициализированы в коде.

Задать опцию

Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта параметр находится в узле Inputs & Stubbing.

файл командной строки и параметров: Использовать параметр -no-def-init-glob. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

Стандарт C99 указывает, что глобальные переменные неявно инициализируются. Анализ по умолчанию следует стандарту и учитывает эту неявную инициализацию.

Если требуется явно инициализировать определенные глобальные переменные, используйте этот параметр для поиска экземпляров, в которых глобальные переменные явно не инициализированы.

Настройки

На

Polyspace игнорирует неявную инициализацию глобальных и статических переменных. Проверка создает ошибку неинициализированной переменной красного цвета, если код считывает глобальную или статическую переменную перед записью в нее.

Если этот параметр включен, глобальные переменные считаются неинициализированными, если они не инициализированы явным образом в коде. Обратите внимание, что этот параметр переопределяет параметр Variables to initialize (-main-generator-writes-variables)(Доказательство кода Polyspace). Даже при инициализации переменных с созданными main, этот параметр заставляет анализ игнорировать инициализацию.

Выкл. (по умолчанию)

Polyspace считает, что глобальные и статические переменные инициализируются в соответствии со стандартами C99 или ISO ® C++. Например, значения по умолчанию:

  • 0 для int

  • 0 для char

  • 0,0 для float

Совет

Статические локальные переменные имеют тот же срок службы, что и глобальные переменные, хотя их видимость ограничена функцией, в которой они определены. Поэтому опция применяется к статическим локальным переменным.

Информация командной строки

Параметр: -no-def-init-glob
По умолчанию: Откл.
Пример (проверка кода): polyspace-code-prover -sources file_name -no-def-init-glob
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -no-def-init-glob

См. также

(Доказательство кода Polyspace)