主要内容

-I

指定用于编译的包含文件夹

语法

-I folder

描述

-I folder 用于指定编译源代码时所需的包含文件所在的文件夹。您只能为每个 -I 实例指定一个文件夹。不过,您可以多次指定此选项。

该分析查找相对于您指定的文件夹路径的包含文件。例如,如果您的代码包含预处理器指令 #include<../mylib.h> 并且您包括了以下文件夹:

C:\My_Project\MySourceFiles\Includes
文件夹 C:\My_Project\MySourceFiles 必须包含文件 mylib.h

该分析会自动在您指定的包含文件夹后包括 ./sources 文件夹(如果它存在)。

示例

在分析中包括两个文件夹:

  • Bug Finder:

    polyspace-bug-finder -I /com1/inc -I /com1/sys/inc
  • Code Prover:

    polyspace-code-prover -I /com1/inc -I /com1/sys/inc
  • Bug Finder Server:

    polyspace-bug-finder-server -I /com1/inc -I /com1/sys/inc
  • Code Prover Server:

    polyspace-code-prover-server -I /com1/inc -I /com1/sys/inc

源文件夹是隐式包含的。可以自动找到源文件夹中的包含文件,无需使用 -I 选项显式包含源文件夹。

提示

  • 此选项对于从命令行进行的 Polyspace® 分析非常有用。在 Polyspace 用户界面中,您在设置工程期间添加包含文件夹。请参阅在 Polyspace 用户界面中添加要分析的源文件

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

  • 选项 -I 不能以递归方式工作。如果您使用此选项添加文件夹路径,则该分析仅会考虑直接位于该文件夹中的包含文件,不会考虑位于该文件夹的子文件夹中的包含文件。如果您希望也将子文件夹包括在包含搜索路径中,请使用其自己的 -I-s 添加子文件夹路径。为了方便起见,您可以编写一个脚本,以递归方式查找文件夹并生成该文件夹的子文件夹的 -I-s。