主要内容

Green Hills 编译器 (-compiler greenhills)

指定 Green Hills 编译器

描述

如果您使用 Green Hills® 编译器编译您的代码,请为编译器 (-compiler) 选项指定 greenhills。当您使用的语法不是标准语法,而是来自语言扩展时,通过指定您的编译器,可以避免此类语法导致编译错误。

然后,指定您的目标处理器类型。如果您为编译器选择了 greenhills,则在 Polyspace® 桌面端产品的用户界面中,您只能看到 Green Hills 编译器允许的处理器。您选择的目标处理器决定了基础数据类型的大小、目标计算机的端序,以及特定的关键字定义。

如果您指定 greenhills 编译器,则必须指定您的编译器头文件的路径。请参阅为 Polyspace 分析提供标准库头文件

设置

对于各个基础类型,目标使用以下默认大小(以位为单位)。您在 Polyspace 桌面端产品的用户界面中看不到这些大小。

目标charshortintlonglong longfloatdoublelong doubleptrchar 默认符号端序对齐size_t 的定义wchar_t 的定义
powerpc81632326432646432无符号Big64unsigned intlong
powerpc6481632646432646464无符号Big64unsigned longint
arm81632326432646432无符号Little32unsigned intunsigned short
arm6481632646432646464无符号Little64unsigned longint
tricore81632326432646432有符号Little32unsigned intunsigned int
rh85081632326432646432有符号Little64unsigned intlong
i38681632326432649632有符号Little32unsigned intlong
x86_64816326464326412864有符号Little128unsigned longint

您的编译器设定还决定了许多编译器特定的宏的值。如果要了解 Polyspace 如何定义特定宏,请使用 -dump-preprocessing-info 选项。

提示

  • 如果您在 Polyspace 分析期间遇到错误,请参阅Fix Polyspace Compilation Errors Related to Green Hills Compiler

  • Polyspace 支持针对 i386 目标的嵌入式配置。如果您的 x86 Green Hills 编译器是针对原生 Windows® 开发而配置的,则在使用 Code Prover 时可能会出现编译错误或不正确的分析结果。请联系技术支持。

    例如,Green Hills 编译器为嵌入式目标设定的 long double 大小为 12 字节,但为原生 Windows 设定的则是 8 字节。Polyspace 默认采用 12 字节。

  • 如果您通过使用 Green Hills 编译器的编译命令来创建 Polyspace 工程,则不会在工程中实现编译器选项 -os_dir。要模拟 -os_dir 选项,您可以将该选项的路径参量作为包含文件夹显式添加到您的 Polyspace 工程中。

  • 如果您使用 IDE 中的 Polyspace as You Code 扩展,请在分析选项文件中输入此选项。请参阅选项文件

命令行信息

参数:-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

版本历史记录

在 R2017b 中推出

全部展开