-compiler
greenhills
)Задайте компилятор Green Hills
Задайте greenhills
для Compiler (-compiler)
если вы компилируете свой код с помощью компилятора Green Hills®. Путем определения компилятора можно избежать ошибок компиляции от синтаксиса, который не является частью Стандарта, но прибывает из расширений языка.
Затем задайте свой тип целевого процессора. Если вы выбираете greenhills
для Compiler, в пользовательском интерфейсе десктопных решений Polyspace®, вы видите, что только процессоры допускали компилятор Green Hills. Ваш выбор целевого процессора определяет размер основополагающих типов данных, порядок байтов целевой машины и определенных определений ключевого слова.
Если вы задаете greenhills
компилятор, необходимо задать путь к заголовочным файлам компилятора. Смотрите Обеспечивают Стандартные Заголовки Библиотеки для Анализа Polyspace.
Цели используют следующие размеры по умолчанию в битах для фундаментальных типов. Вы не видите эти размеры в пользовательском интерфейсе десктопных решений Polyspace.
Цель | 'char' | короткий | int | долго | долго долго | плавание | 'double' | долго дважды | ptr | Знак по умолчанию char | Порядок байтов | Выравнивание | Определение size_t | Определение wchar_t |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
powerpc | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | без знака | Большой | 64 | int без знака | подписываемый долго |
powerpc64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 64 | без знака | Большой | 64 | без знака долго | int со знаком |
arm | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | без знака | Мало | 32 | int без знака | короткое целое без знака |
arm64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 64 | 64 | без знака | Мало | 64 | без знака долго | int со знаком |
tricore | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | со знаком | Мало | 32 | int без знака | подписываемый долго |
rh850 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | со знаком | Мало | 64 | int без знака | подписываемый долго |
i386 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 96 | 32 | со знаком | Мало | 32 | int без знака | подписываемый долго |
x86_64 | 8 | 16 | 32 | 64 | 64 | 32 | 64 | 128 | 64 | со знаком | Мало | 128 | без знака долго | int со знаком |
Ваша спецификация компилятора также определяет значения многих специфичные для компилятора макросы. В случае, если вы хотите знать, как Polyspace задает определенный макрос, используйте опцию -dump-preprocessing-info
.
Чтобы заменить макроопределение, используйте опцию Preprocessor definitions (-D)
.
Чтобы не задать макрос, используйте опцию Disabled preprocessor definitions (-U)
.
Если вы сталкиваетесь с ошибками во время анализа Polyspace, смотрите Ошибки, Связанные с компилятором Green Hills
Polyspace поддерживает встроенную настройку для цели i386. Если ваш x86 компилятор Green Hills сконфигурирован для нативной разработки Windows®, вы видите ошибки компиляции или неправильные результаты анализа с Программой автоматического доказательства Кода. Контакт с технической поддержкой.
Например, компиляторы Green Hills рассматривают размер 12 байтов для long double
для целевых процессоров, но 8 байтов для нативного Windows. Polyspace рассматривает 12 байтов по умолчанию.
Если вы создаете проект Polyspace из команды сборки, которая использует компилятор Green Hills, параметры компилятора -filetype
и -os_dir
не реализованы в проекте. Эмулировать -os_dir
опция, можно явным образом добавить параметр пути опции как включать папка к проекту Polyspace.
Если вы используете Polyspace в качестве Вас Расширения кода в ИДАХ, введите эту опцию в файл опций анализа. Смотрите файл опций.
Параметр:
-compiler greenhills -target |
Значение:
powerpc | powerpc64 | arm | arm64 | tricore | rh850 | arm | i386 | x86_64 |
Значение по умолчанию:
powerpc |
Пример (Bug Finder):
polyspace-bug-finder -compiler greenhills -target arm |
Пример (программа автоматического доказательства кода):
polyspace-code-prover -compiler greenhills -target arm |
Пример (сервер Bug Finder):
polyspace-bug-finder-server -compiler greenhills -target arm |
Пример (сервер программы автоматического доказательства кода):
polyspace-code-prover-server -compiler greenhills -target arm |