polyspace-configure
(系统命令)从 DOS 或 UNIX 命令行中的编译系统创建 Polyspace 工程
语法
说明
polyspace-configure 系统命令从编译命令创建一个 Polyspace® 工程或选项文件。
注意
此 Polyspace 命令在 中可用。这里,polyspaceroot\polyspace\bin 是 Polyspace 的安装文件夹,例如 polyspacerootC:\Program Files\Polyspace\R2025a(请参阅适用于桌面端产品的安装文件夹或适用于服务器产品的安装文件夹)。为避免键入此命令的完整路径,请将此位置添加到操作系统中的 PATH 环境变量中。
polyspace-configure 跟踪您的编译系统,并使用从编译系统收集的信息创建一个 Polyspace 工程。只有当您的编译命令或 makefile 满足某些要求时,Polyspace 才会从您的编译系统创建一个工程。有关编译器和编译命令的要求(包括 Polyspace 支持的编译器列表),请参阅 从编译系统创建工程的要求。buildCommand
polyspace-configure [ 跟踪您的编译系统,并使用 options] buildCommand options 修改 polyspace-configure 的默认操作。在 buildCommand 之前指定修饰符,否则它们将被视为编译命令本身的选项。
polyspace-configure [ 使用您提供的 JSON 编译数据库文件 options] -compilation-database jsonFilejsonFile 中收集的信息创建一个 Polyspace 工程。您无需指定编译命令或跟踪编译系统。有关 JSON 编译数据库的更多信息,请参阅 JSON 编译数据库。
示例
输入参数
算法
polyspace-configure 命令从编译命令(如 make)创建一个 Polyspace 工程或选项文件,大致步骤如下:
首先执行编译命令。
polyspace-configure会跟踪在此编译过程中运行的命令以及读取或写入的文件。以下一个或多个命令将作为编译器调用。例如,如果编译命令使用 GCC 编译器,则一个或多个以下命令将执行gcc、g++或相关可执行文件。根据已知的编译器可执行文件的存在,polyspace-configure从编译期间执行的所有命令中挑选出编译器调用命令。每个编译器调用命令包含以下三个部分:编译器可执行文件、一些源文件和一些编译器选项。例如,以下命令使用编译器选项
-std对文件myFile.c执行 GCC 编译器,该选项会触发基于 C++11 的编译:gcc -std=c++11 myFile.c
polyspace-configure从这些命令中读取源文件名,并直接在 Polyspace 工程或选项文件中使用它们。编译器可执行文件和编译器选项被转换为 Polyspace 分析选项。要确定 Polyspace 选项(例如与基本类型大小或
size_t的底层类型相对应的选项),polyspace-configure会在一些小型源文件上运行之前读取的编译器可执行文件以及编译器选项。根据源文件是否成功编译或出现错误,polyspace-configure可以设置相应的 Polyspace 选项。为了确定编译器宏定义和包含路径,polyspace-configure也会对小源代码重新调用编译器,但之后会使用略微不同的策略。有关可帮助确定 Polyspace 选项的源文件的简单示例,请参阅选项
size_t 的管理 (-size-t-type-is)的参考页面。
除了编译命令外,polyspace-configure 还可以从 JSON 编译数据库创建工程或选项文件。当在编译数据库上运行 polyspace-configure 命令时,上述第一步将被省略。汇编数据库在条目中直接说明编译器调用命令,如下所示:
{
"directory": "/proj/files/
"command": "/usr/local/bin/gcc -std=c++11 -c /proj/files/myFile.c",
"file" : "/proj/files/myFile.c"
}polyspace-configure 可以直接读取这些编译器调用命令,并继续执行剩余步骤,即对小型源文件重新调用编译器。由于跳过了编译命令的执行步骤,因此在编译数据库上运行 polyspace-configure 比在编译命令上运行 polyspace-configure 更快。但是,您有责任确保您提供的编译数据库准确反映源代码的完整编译。版本历史记录
在 R2013b 中推出