【问题标题】:Does adding many -isystem include directives slow down the compilation process significantly?添加许多 -isystem 包含指令会显着减慢编译过程吗?
【发布时间】:2016-05-04 07:27:10
【问题描述】:

对于我们的软件项目,我们有大约 15 个第三方库依赖项。我们使用 -isystem 包含指令抑制这些第三方库中的警告。

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

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

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

我更喜欢第一个选项,因为它的工作量不大,但我不确定这是否会显着减慢编译过程?

【问题讨论】:

    标签: c++ compilation clang


    【解决方案1】:

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

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

    对于您添加的每个目录。

    【讨论】:

      猜你喜欢
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 2016-10-08
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多