【问题标题】:How do I turn on multi-CPU/Core C++ compiles in the Visual Studio IDE (2008)?如何在 Visual Studio IDE (2008) 中打开多 CPU/Core C++ 编译?
【发布时间】:2010-11-28 04:47:53
【问题描述】:

我有一个 Visual Studio 2008 C++ 项目,它支持在编译时使用多个 CPU/内核。在 VCPROJ 文件中,我看到了这个:

<Tool
    Name="VCCLCompilerTool"
    AdditionalOptions="/MP"
    ...

我找不到通过 IDE 添加的位置,我想设置另一个在编译期间使用我所有内核的项目。

我发现了大量对MSDN /MP page 的引用,但那是为了使用命令行;我还没有找到任何关于使用 IDE 进行设置的参考。我该怎么做?

编辑:澄清一下,这两个项目是完全独立的,不在同一个 VCPROJ 文件中。我想在 C++ 编译阶段打开对多核的支持。

【问题讨论】:

  • 了解也很有用 - /MP 选项也适用于 Visual Studio 2005。

标签: c++ visual-studio compilation multicore


【解决方案1】:

要启用 /MP 选项,您可以将其添加到 Project Settings-&gt;C/C++-&gt;Command Line|Additional options。这是在 vcproj 中打开它的唯一方法。

【讨论】:

  • 这行得通。作为测试,我直接将它塞进了 VCPROJ。看到您的帖子后,我将其添加到您在上面显示的部分 - 完全一样。
  • 此选项与 Build-And-Run 选项的区别在于 /MP 允许来自一个项目的 MULTIPLE FILES 并行编译,而 build-and-run 选项允许 MULTIPLE PROJECTS 在同时。这两个选项是正交的。
  • 您可能还需要在代码生成下禁用 /Gm 选项,该选项启用最少的重建。
  • 要让任务管理器中的所有 CPU 计量器同时运行,您可能需要对数字进行硬编码。例如,在 6 核 i5 上,/MP12 而不仅仅是 /MP。这取决于超线程设置等。
  • @metal,所以我必须权衡整个项目的多核编译和最小重建的单核编译..?我要么在浪费核心,要么正在做一个非常低效的构建.. :/
【解决方案2】:

工具 > 选项 > 项目和解决方案 > 构建和运行 > 并行项目构建的最大数量

【讨论】:

  • 我的两个项目都将“最大并行项目构建数”设置为 2(这是正确的),但原始项目显示 /MP 开关,而我的新项目没有。当我编译这两个项目时,原来的肯定是使用多核,而新的不是。
  • 您不会通过该设置打开 /MP 构建。此选项将在一个解决方案中启用多个项目的并行构建,而不是一个项目中的多个文件。此选项仅适用于大型解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
相关资源
最近更新 更多