添加许多 -isystem include 指令是否会显著减慢编译过程

Does adding many -isystem include directives slow down the compilation process significantly?

本文关键字:编译 过程 -isystem 许多 include 指令 是否 添加      更新时间:2023-10-16

对于我们的软件项目,我们有大约 15 个第三方库依赖项。我们使用 -isystem include 指令禁止显示这些第三方库中的警告。

我们的软件项目由 10 多个可执行文件和库组成,每个可执行文件和库都依赖于第三方库的子集。我们在 mac 上使用 clang 进行编译。

禁用构建系统中所有项目的所有第三方警告的一种简单方法是使用 -isystem 在所有项目中包含所有第三方库。

另一种方法是为每个项目单独定义 -isystem 指令。这是更多的设置工作,并且会破坏所有项目文件的配置,但仅包含实际使用的第三方库。

我更喜欢使用第一个选项,因为它没有太多工作,但我不确定这是否会显着减慢编译过程?

此标志只会减慢标准标头的搜索速度,因为在找到每个标准标头之前,它还会在您的目录中搜索它。因此,这取决于您添加多少个这样的目录以及您使用多少标准标头。对于每个标准标头,影响将是以下各项的总和:

time ls YOUR_DIR >> /dev/null 2>&1

对于您添加的每个目录。