При выполнении анализа Finder™ ошибок Polyspace ® делает определенные предположения относительно инициализации глобальных переменных. Эти допущения зависят от способа объявления и определения глобальных переменных. Например, в этом коде
int foo(void) {
return 1/gvar;
}gvar в этих случаях:
Определение int gvar; в исходном коде и предоставить main функция, вызывающая foo. Средство поиска ошибок следует стандартам ANSI, согласно которым переменная инициализируется как нулевая.
Определение int gvar; или объявить extern int gvar; в исходном коде. Вызов другой функции foo и наборы gvar=0. В противном случае, если исходные файлы являются неполными и не содержат main функция, Bug Finder не допускает инициализации gvar.
Вы заявляете const int gvar;. Поиск ошибок предполагает, что gvar инициализировано как нулевое из-за const ключевое слово.
За счет возможного увеличения времени выполнения можно выполнить более исчерпывающий анализ, в котором все значения учитываются для каждого считывания глобальной переменной с помощью foo или его вызывающих при отображении дефектов. См. раздел Расширение средств поиска ошибок для поиска дефектов из определенных системных входных значений.
Допущения по анализу поиска ошибок | Входные данные в поисковике ошибок Polyspace