-respect-types-in-globals
)Не приводите глобальные переменные к указателям
Эта опция влияет только на анализ Code Prover.
Укажите, что глобальные переменные, первоначально не объявленные как указатели, не будут приводиться к указателям позже.
Пользовательский интерфейс (только для настольных продуктов): В строении проекта опция доступна на узле Verification Assumptions.
Командная строка и файл опций: Используйте опцию -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 |
По умолчанию: Off |
Пример (Code Prover):
Polyspace Code Prover -sources file_name |
Пример (Код Prover Server):
Полипространство -code-prover-server -sources file_name |