Выполните один или несколько из этих шагов до тех пор, пока не будет определено исправление для проверки Неверное использование стандартной библиотеки. Описание проверки и примеры кода см. в разделе Invalid use of standard library routine.
Иногда, особенно для оранжевой проверки, можно определить, что проверка представляет собой не реальную ошибку, а предположение Polyspace ®, которое не соответствует вашему коду. Если для смягчения предположения можно использовать опцию анализа, повторно запустите проверку с помощью этой опции. В противном случае в результат или код можно добавить комментарий и обоснование.
Общий рабочий процесс, применяемый ко всем проверкам, см. в разделе Интерпретация результатов проверки кода в пользовательском интерфейсе Polyspace Desktop.
Выберите флажок на панели Список результатов (Results List). Просмотрите дополнительные сведения о проверке на панели Сведения о результатах. Проверка имеет красный или оранжевый цвет из-за недопустимых аргументов функции.

Причина проверки красного или оранжевого цвета зависит от используемой стандартной библиотечной функции. В следующей таблице показаны возможные причины некоторых часто используемых функций.
| Функция | Причина проверки красного или оранжевого цвета | |
|---|---|---|
islower, isdigitи другие функции обработки символов в ctype.h | Значение аргумента может находиться за пределами диапазона, допустимого для Обратите внимание, что можно использовать макрос | |
Функции в | Программное обеспечение последовательно проверяет наличие нескольких видов ошибок. Программное обеспечение выполняет каждую проверку только для тех путей выполнения, по которым проходит предыдущая проверка. Ниже приводятся некоторые примеры. Дополнительные сведения и список функций см. в разделе Недопустимое использование стандартных библиотечных подпрограмм с плавающей запятой. | |
sqrt | Значение аргумента может быть отрицательным. | |
pow | Первый аргумент может быть отрицательным, в то время как второй аргумент не является целым числом. | |
exp, exp2или гиперболические функции | Аргумент может быть настолько велик, что результат превышает допустимое значение double. | |
log | Аргумент может быть нулевым или отрицательным. | |
asin или acos | Аргумент может находиться за пределами диапазона [-1,1]. | |
tan | Аргумент может иметь значение HALF_PI. | |
acosh | Аргумент может быть меньше 1. | |
atanh | Аргумент может быть больше 1 или меньше -1. | |
fprintf, fscanfи другие функции обработки файлов | Аргумент указателя файла может быть нечитаемым. Например, это может быть NULL. | |
| Функции, принимающие строковые аргументы | Аргумент строки может быть недопустимой строкой. Например, он не заканчивается завершающим '\0'. | |
memmove или memcpy | Третий аргумент этой функции указывает количество байтов для копирования из второго в первый аргумент. Это число может превышать объем памяти, выделенный первому или второму аргументу. | |
Проверьте, можно ли отследить оранжевый чек по предположению Polyspace, которое встречается ранее в коде. Если предположение не соответствует действительности в вашем случае, добавьте комментарий или обоснование в результат или код. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
Например, вы получаете значение из неопределенной функции и выполняете sqrt операция на нем. Затем:
Polyspace предполагает, что функция может возвращать отрицательное значение.
Поэтому программное обеспечение производит оранжевую проверку недопустимого использования стандартной библиотечной подпрограммы на sqrt вызов функции.
Если известно, что функция возвращает положительное значение, во избежание оранжевого можно задать ограничение на возвращаемое значение функции. См. раздел Допущения о упорных функциях. В качестве альтернативы добавьте комментарий и обоснование, описывающие, почему вы не изменили код.
Дополнительные сведения см. в разделе Допущения анализа проверки кода.