【问题标题】:Is there a way to compile C++ several files using Clang in one process?有没有办法在一个进程中使用 Clang 编译 C++ 多个文件?
【发布时间】:2011-07-13 18:49:27
【问题描述】:

出于基准测试的原因,我需要使用 Clang (clang++) 编译器仅使用一个进程来编译多个 C++ 文件。

事实上,默认情况下,编译器使用多个进程来编译文件,这使得我的基准测试无法按照我想要的方式工作。

我知道这是一个不常见的问题,但这只是针对特殊情况,一般来说,我不需要。

编辑:它打破了我的基准,因为我使用 CallGrind 生成了执行的调用图,然后我有几个调用图,一个按进程

编辑 2:据我了解,clang++ 正在为每个文件分叉

【问题讨论】:

  • 连接不会产生相同的结果。
  • OP:这是一个愚蠢的要求。修正你的基准。
  • 一般来说是的.. 但它可能适用于他的情况
  • 如果你使用clang++ file1.cc file2.cc -o app,它使用2个进程吗?
  • 这究竟是如何打破你的基准?

标签: c++ compilation benchmarking clang


【解决方案1】:

看看clang++ file1.cc -c -### 的结果(加上你需要的任何标志)。您应该能够将其他输入文件填充到以clang -cc1 开头的命令中,并让它们全部编译而无需任何分叉。这种操作模式并不真正受支持,但据我所知它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多