为什么Visual Studio多处理器构建会执行多个项目而不是多个源文件?

时间:2014-05-02 23:41:33

标签: visual-studio msbuild wdk windows-nt

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

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

是否有人知道为什么Visual Studio人员不会使用线程来构建像Windows民众那样的(或至少习惯使用的)个人源文件?

1 个答案:

答案 0 :(得分:0)

我的问题的答案是元素。要在GUI中查看它,请调出项目属性,选择" C ++",然后选择" General"。如果你将它设置为true,那么该项目将首先构建PCH文件,然后它将启动一个" cl.exe"每个c / cpp文件的进程最多为机器具有的处理器数量。构建完所有文件后,它将与一个进程链接。

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