exponenta event banner

Стандарт языка C/C + +, используемый при анализе полиспейса

Анализ Polyspace ® соответствует определенному языковому стандарту для компиляции кода. Языковой стандарт вместе со спецификацией компилятора определяет языковые элементы, которые можно использовать в коде. Например, если в анализе Polyspace используется стандарт C99, C11 функции, такие как использование библиотеки поддержки резьбы изthreads.h вызывает ошибки компиляции.

Поддерживаемые языковые стандарты

Анализ Polyspace поддерживает следующие стандарты:

  • C: C90, C99, C11

    Стандарт по умолчанию зависит от спецификации компилятора. Если явно не указать компилятор, в анализе по умолчанию используется стандарт C99. Для изменения стандарта языка используйте опцию C standard version (-c-version).

  • C++: C++ 03, C++ 11, C++ 14

    Стандарт по умолчанию зависит от спецификации компилятора. Если явно не указать компилятор, в анализе по умолчанию используется стандарт C++ 03. Для изменения стандарта языка используйте опциюC++ standard version (-cpp-version).

Стандарт языка по умолчанию

Стандарт языка по умолчанию зависит от спецификации опции Compiler (-compiler).

КомпиляторСтандарт CСтандарт C++
genericC99C++ 03
gnu3.4, gnu4.6, gnu4.7, gnu4.8, gnu4.9C99C++ 03
gnu5.xC11C++ 03
gnu6.xC11C++ 14
gnu7.xC11C++ 14
gnu8.xC11C++ 14
clang3.xC99

C++ 03

Анализ принимает некоторые расширения C++ 11.

clang4.xC99

C++ 03

Анализ принимает расширения C++ 14.

clang5.xC99

C++ 03

Анализ принимает расширения C++ 14.

visual9.0, visual10.0, visual11.0, visual12.0C99C++ 03
visual14.0C99C++ 14
visual15.xC99C++ 14
visual16.xC99C++ 14
keilC99C++ 03
iarC99C++ 03
armccC99C++ 03
armclangC11C++ 03
codewarriorC99C++ 03
cosmicC99Не поддерживается
diabC99C++ 03
greenhillsC99C++ 03
iar-ewC99C++ 03
microchipC99Не поддерживается
renesasC99C++ 03
taskingC99C++ 03
tiC99C++ 03

См. также

| |

Связанные темы