为 Polyspace 分析提供标准库头文件
在 Polyspace® 分析代码中的错误和运行时错误之前,它会先编译您的代码。即使代码在您的编译器上编译通过,您仍可能在使用 Polyspace 时遇到编译错误。如果错误来自标准库函数,通常表明 Polyspace 没有使用您的编译器头文件。要解决此错误,请提供编译器头文件的路径。
如果您使用 polyspace-configure 从编译命令创建了 Polyspace 工程或选项文件,则头路径会自动添加到该工程或选项文件中。否则,您必须显式添加这些路径。本主题介绍如何从编译器中查找标准库头文件。代码示例会引发编译错误,显示头文件的位置。
要定位包含 C 编译器系统头文件的文件夹,请使用您的编译工具链编译以下 C 代码:
float fopen(float f); #include <stdio.h>
该代码无法编译通过,因为
fopen的声明与stdio.h中的声明冲突。编译失败的错误消息会显示编译器实现stdio.h的位置。您的 C 标准库头文件很可能都在该文件夹中。要定位包含 C++ 编译器系统头文件的文件夹,请使用您的编译工具链编译以下 C++ 代码:
该代码无法编译通过,因为namespace std { float cin; } #include <iostream>cin的声明与iostream.h中的声明冲突。编译失败的错误消息会显示编译器实现iostream.h的位置。您的 C++ 标准库头文件很可能都在该文件夹中。
找到编译器的头文件路径后,指定 Polyspace 分析的路径。对于 C++ 代码,请指定 C 和 C++ 头文件的路径。
在用户界面(Polyspace 桌面端产品)中,将文件夹添加到工程中。
有关详细信息,请参阅在 Polyspace 用户界面中添加要分析的源文件。
在命令行中,使用标志
-I以及以下命令之一:polyspace-code-prover(Polyspace Code Prover)polyspace-code-prover-server(Polyspace Code Prover)
有关详细信息,请参阅
-I。