Удалить предположение о допустимости абсолютного использования адреса
-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;
}В этом примере программное обеспечение создает:
| void main() {
int *p = (int *)0x32;
int x;
x=*p;
}В этом примере программное обеспечение создает:
|
Для наилучшего использования проверки использования абсолютного адреса оставьте этот флажок зеленым по умолчанию на начальных этапах разработки. На этапе интеграции используйте опцию -no-assumption-on-absolute-addresses и обнаруживают все виды использования абсолютных адресов памяти. Просмотрите их и убедитесь, что адреса действительны.