#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).