exponenta event banner

-no-taze-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;
}

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

  • Зеленая проверка использования абсолютного адреса, когда адрес 0x32 назначается указателю p.

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

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

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

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

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

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

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

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

Представлен в R2016a