【问题标题】:Why do Visual Studio Multi-Processor builds do multiple projects instead of multiple source files?为什么 Visual Studio 多处理器构建会执行多个项目而不是多个源文件?
【发布时间】:2014-05-02 23:41:32
【问题描述】:

在 NT 构建环境(也称为 Windows DDK 构建环境)中,您可以通过在 build.exe 中指定 -M 参数来使用多个处理器构建源代码树。它所做的是按依赖顺序构建你的项目,当它构建每个项目时,它会启动多个线程来构建单独的源文件,显然,首先构建预编译的头文件,以及任何其他需要完成的事情在构建其余源代码之前(midl 等)

Visual Studio/MSBuild 采用了非常不同的方法。它使用多个线程构建项目,但仅按顺序构建单个源文件。当您有很多小项目时,这非常有用。但是,当您的项目包含大量源文件时,这会令人沮丧。

有没有人知道为什么 Visual Studio 的人不使用线程来构建单独的源文件,就像 Windows 人所做的那样(或至少过去)?

【问题讨论】:

标签: visual-studio msbuild wdk windows-nt


【解决方案1】:

我的问题的答案是元素。要在 GUI 中查看它,打开项目属性,选择“C++”,然后选择“General”。如果将其设置为 true,则该项目将首先构建 PCH 文件,然后它将为每个 c/cpp 文件启动一个“cl.exe”进程,直至机器拥有的处理器数量。构建完所有文件后,它将与一个进程链接。

这与 Visual Studio 还将启动 msbuild 的多个副本以一次构建多个项目这一事实不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 2021-08-13
    • 2012-12-31
    • 2011-06-13
    • 1970-01-01
    相关资源
    最近更新 更多