exponenta event banner

- никакое предположение на абсолютных адресах

Удалите предположение, что абсолютное использование адреса допустимо

Синтаксис

-no-assumption-on-absolute-addresses

Описание

Эта опция влияет на анализ Программы автоматического доказательства Кода только.

-no-assumption-on-absolute-addresses удаляет предположение по умолчанию, что абсолютные адреса, используемые в вашем коде, допустимы. Если вы используете эту опцию, верификация производит оранжевую проверку Absolute address usage, когда вы присваиваете абсолютный адрес указателю. В противном случае проверка является зеленой по умолчанию.

Тип указателя, которому вы присваиваете адрес, определяет начальное значение, сохраненное в адресе. Например, если вы присваиваете адрес указателю int*, после этой проверки, верификация принимает, что зона памяти, на которую указывает адрес, инициализируется со значением int. Значение может быть чем-либо, допускал тип данных int.

Если при запуске анализ от пользовательского интерфейса (только десктопные решения Polyspace®) на панели Configuration, можно ввести эту опцию в поле Other. Смотрите Other.

Примеры

Использование опции -no-assumption-on-absolute-addresses может увеличить число оранжевых регистраций вашего кода. Например, следующая таблица показывает дополнительную оранжевую проверку с включенной опцией.

Абсолютное зеленое использование адресаАбсолютное оранжевое использование адреса
void main() {
    int *p = (int *)0x32;
    int x;
    x=*p;
}

В этом примере программное обеспечение производит:

  • Зеленый Absolute address usage проверяет, когда адрес 0x32 присвоен указателю p.

  • Зеленый Illegally dereferenced pointer проверяет, когда указатель p читается.

    x потенциально имеет все значения, допускал переменную int.

void main() {
    int *p = (int *)0x32;
    int x;
    x=*p;
}

В этом примере программное обеспечение производит:

  • Оранжевый Absolute address usage проверяет, когда адрес 0x32 присвоен указателю p.

  • Зеленый Illegally dereferenced pointer проверяет, когда указатель p читается.

    x потенциально имеет все значения, допускал переменную int.

Для лучшего использования проверки Absolute address usage оставьте эту проверку зеленой по умолчанию во время начальных стадий разработки. Во время этапа интегрирования используйте опцию -no-assumption-on-absolute-addresses и обнаружьте все использование абсолютных адресов памяти. Просмотрите их и убедитесь, что адреса допустимы.

Введенный в R2016a