-no-assumption-on-absolute-addresses

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

Синтаксис

-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