Элементы языка C11, поддержанные в Polyspace

Эта таблица предоставляет частичный список элементов языка C, которые были введены начиная с C11 и соответствующей поддержки Polyspace®. Если ваш код содержит неподдерживаемые конструкции, Polyspace сообщает об ошибке компиляции.

Элемент языка C11Поддерживаемый
alignas и макросы удобства alignofДа
Функция aligned_allocДа
Макросы удобства noreturnДа
Типичный выборДа
Распараллельте вспомогательную библиотеку (threads.h)Да
Атомарная библиотека операций (stdatomic.h)Да
Атомарные типы с _Atomic

Да.

Если вы используете компилятор Лязга, см. книгу ограничений для ограничений на атомарные типы данных. Смотрите Ограничения Верификации Polyspace (Polyspace Code Prover).

UTF-16 и символьные утилиты UTF-32Да

Связанная проверка взаимодействует через интерфейс или альтернативные версии стандартных библиотечных функций, которые проверяют на переполнение буфера (Приложение K C11)

Например, strcpy_s является альтернативой strcpy, который проверяет на определенные ошибки в копии строки.

Нет.

Polyspace проверяет на определенные ошибки времени выполнения в использовании стандартных библиотечных функций. Проверка не расширяет к этим альтернативам.

Анонимные структуры и объединенияДа
Статичный утверждают объявлениеДа
Функции, связанные с обработкой ошибок, такие как errno_t и rsize_t typedef-s

Нет.

Если вы видите ошибки компиляции от использования их typedef-s, явным образом задаете путь к вашим заголовкам компилятора. Смотрите Обеспечивают Стандартные Заголовки Библиотеки для Анализа Polyspace.

quick_exit и at_quick_exit

Да.

В Средстве поиска Ошибки функции, зарегистрированные с at_quick_exit, появляются как невостребованные.

CMPLX, CMPLXF и макросы CMPLXLДа

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

Похожие темы