#error
ДирективаАнализ останавливается сообщением, содержащим #error
директива. Например, появится следующее сообщение: #error directive: !Unsupported platform; stopping!
.
Обычно вы используете #error
директива в коде для запуска фатальной ошибки в случае, если определенные макросы не определены. Ваш компилятор неявно определяет макросы, поэтому ошибка не запускается, когда вы компилируете свой код. Однако Polyspace по умолчанию® компиляция не рассматривает макросы как определенные, поэтому происходит ошибка.
Например, в следующем примере #error
директива достигается только в том случае, если макросы __BORLANDC__
, __VISUALC32__
или __GNUC__
не заданы. Если вы используете GNU® Компилятор C, например, компилятор рассматривает макрос __GNUC__
как определено, и ошибка не возникает. Однако, если вы используете компиляцию Polyspace по умолчанию, она не рассматривает макросы как определенные.
#if defined(__BORLANDC__) || defined(__VISUALC32__) #define MYINT int #elif defined(__GNUC__) #define MYINT long #else #error !Unsupported platform; stopping! #endif
Для успешной компиляции выполните одно из следующих действий:
Задайте компилятор, такой как visual12.0
или gnu4.9
. Установка компилятора задает некоторые флаги компиляции для анализа.
Для получения дополнительной информации смотрите Compiler (-compiler)
.
Если доступные опции компилятора не совпадают с вашим компилятором, явным образом задайте один из флагов компиляции __BORLANDC__
, __VISUALC32__
, или __GNUC__
.
Для получения дополнительной информации смотрите Preprocessor definitions (-D)
.