-respect-types-in-globals)Не выводить глобальные переменные, не указывающие на указатели
Этот параметр влияет только на анализ программы проверки кода.
Укажите, что глобальные переменные, изначально не объявленные как указатели, не будут преобразованы в указатели позже.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта эта опция доступна в узле Проверочные допущения.
файл командной строки и параметров: Использовать параметр -respect-types-in-globals. См. раздел Сведения о командной строке.
Используйте этот параметр для идентификации и запрета слепков из глобальных переменных, не указывающих на указатели.
Проверка предполагает, что глобальные переменные, изначально не объявленные как указатели, не будут выдаваться указателям позже.
Проверка предполагает, что глобальные переменные могут быть преобразованы в указатели, даже если они не объявлены как указатели.
При выборе этого параметра количество чеков в коде может измениться. Эту опцию и изменение результатов можно использовать для определения случаев, когда переменные, не указывающие на указатели, отбрасываются в указатели.
Например, в следующем примере при выборе опции результаты имеют один менее оранжевый чек и один более красный чек.
| Код с выключенной опцией | Код с опцией on |
|---|---|
int global;
void main(void) {
int local;
global = (int)&local;
*(int*)global = 5;
assert(local==5);
}В этом примере: | int global;
void main(void) {
int local;
global = (int)&local;
*(int*)global = 5;
assert(local==5);
}В этом примере: |
Параметр: -respect-types-in-globals |
| По умолчанию: Откл. |
Пример (проверка кода):
polyspace-code-prover -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -sources |