Стандарт Языка C/C++, Используемый в Анализе Polyspace

Анализ 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
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
iarC99C++ 03
armccC99C++ 03
armclangC11C++ 03
keilC99C++ 03
diabC99C++ 03
taskingC99C++ 03
greenhillsC99C++ 03
codewarriorC99C++ 03
tiC99C++ 03
iar-ewC99C++ 03
renesasC99C++ 03

Смотрите также

| |

Похожие темы