主要内容

对基于 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__))"