-cpp-version
)Задайте стандарт языка C++, сопровождаемый в исходном коде
Задайте стандарт языка C++, за которым вы следуете в своем исходном коде.
Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Target & Compiler. Смотрите Зависимости для других опций, которые необходимо включить.
Командная строка: Используйте опцию -cpp-version
. Смотрите информацию о командной строке.
Используйте эту опцию так, чтобы Polyspace® мог позволить функции от определенной версии стандарта языка C++ во время компиляции. Например, если вы компилируете с GCC использование флага -std=c++11
или -std=gnu++11
, задайте cpp11
для этой опции. Если вы не уверены в стандарте языка, задаете defined-by-compiler
.
Например, предположите, что вы используете основанный на области значений for
циклы. Этот тип for
цикл задан на C++ 11 стандартных, но нераспознанные в предшествующих стандартах, таких как C++ 03. Если компиляция Polyspace использует C++ 03 стандарта, вы видите ошибки компиляции.
Проверять, позволяет ли ваш компилятор функции, характерные для стандарта, кода компиляции с макросами, характерными для стандартных параметров компилятора использования, которые вы обычно используете. Например, чтобы проверять на C++ специфичные для 11 функции, скомпилируйте этот код. Код содержит C++ специфичное для 11 ключевое слово nullptr
. Если макро-__cplusplus
не 201103L
(указание на C++ 11), это ключевое слово используется и вызывает ошибку компиляции.
#if defined(__cplusplus) && __cplusplus >= 201103L /* C++11 compiler */ #else void* ptr = nullptr; #endif
cpp11
для этой опции.Значение по умолчанию: defined-by-compiler
defined-by-compiler
Анализ использует стандарт на основе вашей спецификации для Compiler (-compiler)
.
cpp03
Анализ использует C++ 03 Стандарта (ISO®/IEC 14882:2003).
cpp11
Анализ использует C++ 11 Стандартов (ISO/IEC 14882:2011).
cpp14
Анализ использует C++ 14 Стандартов (ISO/IEC 14882:2014).
Эта опция доступна, только если вы устанавливаете Source code language (-lang)
к CPP
или C-CPP
.
Если вы создаете проект или файл опций от вашей системы сборки с помощью polyspace-configure
команда или polyspaceConfigure
функция, значение этой опции автоматически определяется из вашей системы сборки.
Если система сборки использует различные стандарты в различных файлах, последующий анализ Polyspace может эмулировать вашу систему сборки и использовать различные стандарты в компиляции тех файлов. Если вы открываете такой проект в пользовательском интерфейсе Polyspace, значение опции показывается defined-by-compiler
. Однако вместо одного стандарта, Polyspace использует несколько стандартов в компиляции файлов. Анализ использует скрытую опцию -options-for-sources
сопоставлять различные стандарты с различными файлами.
Параметр: -cpp-version |
Значение: defined-by-compiler | cpp03 | cpp11 | cpp14 |
Значение по умолчанию:
defined-by-compiler |
Пример (Средство поиска Ошибки):
Polyspace Bug Finder - Ленг c - источники |
Пример (Программа автоматического доказательства Кода):
Polyspace Code Prover - Ленг c - источники |
Пример (Сервер Средства поиска Ошибки): сервер средства поиска ошибки полипробела - Ленг c - источники |
Пример (Сервер Программы автоматического доказательства Кода):
сервер программы автоматического доказательства полипробела кода - Ленг c - источники |