-disable-initialization-checks)Отключить проверки неинициализированных переменных и указателей
Этот параметр влияет только на анализ программы проверки кода.
Укажите, что Prover™ кода Polyspace ® не должны проверять отсутствие инициализации в коде.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта параметр находится в узле Проверить поведение.
файл командной строки и параметров: Использовать параметр -disable-initialization-checks. См. раздел Сведения о командной строке.
Используйте этот параметр, если не требуется обнаруживать экземпляры неинициализированных переменных.
Средство проверки кода Polyspace не выполняет следующие проверки:
Non-initialized local variable: Локальная переменная не инициализирована перед чтением.
Non-initialized variable: Переменная, отличная от локальной, не инициализируется перед чтением.
Non-initialized pointer: Указатель не инициализирован перед чтением.
Return value not initializedФункция C не возвращает значение, когда ожидается.
Polyspace предполагает, что при объявлении:
Переменные имеют полный диапазон значений, допустимых их типом.
Указатели могут быть NULL- значение или указывает на блок памяти с неизвестным смещением.
Средство проверки кода Polyspace проверяет отсутствие инициализации в коде. Программа отображает красные проверки, если, например, переменная не инициализирована, и оранжевые проверки, если переменная инициализирована только на некоторых путях выполнения.
При выборе этого варианта программное обеспечение не сообщает о большинстве нарушений MISRA C ®: 2004 rule 9.1, иMISRA C:2012 Rule 9.1.
При выборе этого параметра количество и тип оранжевых чеков в коде могут измениться.
Например, в следующей таблице показана дополнительная проверка оранжевого цвета с включенной опцией.
| Проверка неинициализации включена | Проверка неинициализации отключена |
|---|---|
void func(int flag) {
int var1,var2;
if( flag==0) {
var1=var2;
}
else {
var1=0;
}
var2=var1 + 1;
}В этом примере программное обеспечение создает:
| void func(int flag) {
int var1,var2;
if( flag==0) {
var1=var2;
}
else {
var1=0;
}
var2=var1 + 1;
}В этом примере программное обеспечение:
|
Параметр: -disable-initialization-checks |
| По умолчанию: Откл. |
Пример (проверка кода): polyspace-code-prover -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -sources |