-compiler
greenhills
)Задайте компилятор Green Hills
Задайте greenhills
для Compiler (-compiler)
если вы скомпилируете свой код с помощью Green Hills® компилятор. Указав компилятор, можно избежать ошибок компиляции из синтаксиса, который не является частью Standard, но происходит из языковых расширений.
Затем укажите тип целевого процессора. Если вы выбираете greenhills
для Compiler, в пользовательском интерфейсе Polyspace® настольные продукты, вы видите только процессоры, разрешенные для компилятора Green Hills. Ваш выбор целевого процессора определяет размер фундаментальных типов данных, конечность целевой машины и определенные определения ключевых слов.
Если вы задаете greenhills
компилятор, вы должны задать путь к файлам заголовка компилятора. Смотрите раздел «Предоставление заголовков стандартных библиотек для анализа Polyspace».
Целевые системы используют следующие размеры по умолчанию в битах для основных типов. Вы не видите эти размеры в пользовательском интерфейсе десктопных продуктов Polyspace.
Цель | char | короткий | int | долго | длинный длинный | плавание | дважды | длинный двойной | ptr | Знак по умолчанию char | Endianness | Выравнивание | Определение 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® вы можете увидеть ошибки компиляции или неправильные результаты анализа с код Prover. Обратитесь в службу технической поддержки.
Например, компиляторы Green Hills рассматривают размер 12 байт для long double
для целевых процессоров, но 8 байт для собственной Windows. Polyspace рассматривает 12 байтов по умолчанию.
Если вы создаете проект Polyspace из команды сборки, которая использует компилятор Green Hills, опции компилятора -filetype
и -os_dir
не реализованы в проекте. Чтобы эмулировать -os_dir
можно явным образом добавить аргумент путь опции в качестве папки include к проекту Polyspace.
Если вы используете Polyspace в качестве расширений You Code в IDE, введите эту опцию в файл опций анализа. См. файл опций.
Параметр:
-compiler greenhills -target |
Значение:
powerpc | powerpc64 | arm | arm64 | tricore | rh850 | arm | i386 | x86_64 |
По умолчанию:
powerpc
|
Пример (Bug Finder):
polyspace-bug-finder -compiler greenhills -target arm |
Пример (Code Prover):
polyspace-code-prover -compiler greenhills -target arm |
Пример (Bug Finder Server):
polyspace-bug-finder-server -compiler greenhills -target arm |
Пример (Code Prover Server):
polyspace-code-prover-server -compiler greenhills -target arm |