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