对基于 MinGW 编译创建的工程进行故障排除
问题
您基于 MinGW 编译创建了一个工程,但在对该工程运行分析时遇到错误。错误消息具有以下关键字之一:__declspec
、__cdecl
、__fastcall
、__thiscall
或 __stdcall
。
原因
当您基于 MinGW 编译创建工程时,该工程使用的是 GNU® 编译器。而 Polyspace® 无法识别 GNU 编译器的这些关键字。
解决方案
为了便于分析,请将这些关键字替换为等效关键字。
在分析之前,请为预处理器定义 (-D)
选项输入:
__declspec(x)=__attribute__((x))
__cdecl=__attribute__((__cdecl__))
__fastcall=__attribute__((__fastcall__))
__thiscall=__attribute__((__thiscall__))
__stdcall=__attribute__((__stdcall__))
如果您在 UNIX® shell 的命令行中运行 Polyspace,请用双引号将 -D
选项括起来。例如,请使用:
"-D __cdecl=__attribute__((__cdecl__))"