-c-version)Укажите стандарт языка C, следующий в исходном коде
Укажите стандарт языка Си, которому следует исходный код.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Target & Compiler. Другие параметры, которые необходимо включить, см. в разделе Зависимости.
файл командной строки и параметров: Использовать параметр -c-version. См. раздел Сведения о командной строке.
Используйте этот параметр, чтобы программа Polyspace ® разрешала функции, специфичные для стандартной версии C, во время компиляции. Например, при компиляции с использованием флага GCC -ansi или -std=c90, указать c90 для этого варианта. Если вы не уверены в языковом стандарте, укажите defined-by-compiler.
Например, предположим, что используется логический тип данных _Bool в вашем коде. Этот тип определен в стандарте C99, но неизвестен в предыдущих стандартах, таких как C90. Если компиляция Polyspace соответствует стандарту C90, можно увидеть ошибки компиляции.
Некоторые правила MISRA C ® отличаются в зависимости от того, используется ли стандарт C90 или C99. Например, MISRA C C:2012 Rule 5.2 требует, чтобы идентификаторы в одном объеме и пространстве имен были различны. Если используется стандарт C90, то это правило нарушается различными идентификаторами, имеющими один и тот же первый 31 символ. При использовании стандарта C99 количество символов увеличивается до 63.
По умолчанию: defined-by-compiler
defined-by-compilerВ анализе используется стандарт, основанный на спецификации для Compiler (-compiler).
См. Стандарт языка C/C + +, используемый в анализе пространства.
c90В анализе используется стандарт C90 (ISO ®/IEC 9899:1990).
c99В анализе используется стандарт C99 (ISO/IEC 9899:1999).
c11В анализе используется стандарт C11 (ISO/IEC 9899:2011).
Эта опция доступна только при установке Source code language (-lang) кому C или C-CPP.
При создании проекта или файла параметров из системы построения с помощью polyspace-configure команда или polyspaceConfigure значение этой опции автоматически определяется из системы сборки.
Если система сборки использует различные стандарты для различных файлов, последующий анализ Polyspace может эмулировать систему сборки и использовать различные стандарты для компиляции этих файлов. При открытии такого проекта в интерфейсе пользователя Polyspace значение опции отображается как defined-by-compiler. Однако вместо одного стандарта Polyspace использует скрытый параметр -options-for-sources для связывания различных стандартов с различными файлами.
Параметр: -c-version |
Значение: defined-by-compiler | c90 | c99 | c11 |
По умолчанию:
defined-by-compiler |
Пример (поиск ошибок):
polyspace-bug-finder -lang c -sources |
Пример (проверка кода):
polyspace-code-prover -lang c -sources |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -lang c -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -lang c -sources |