在 NT 构建环境(也称为 Windows DDK 构建环境)中,您可以通过在 build.exe 中指定 -M 参数来使用多个处理器构建源代码树。它所做的是按依赖顺序构建你的项目,当它构建每个项目时,它会启动多个线程来构建单独的源文件,显然,首先构建预编译的头文件,以及任何其他需要完成的事情在可以构建其余源代码之前(midl 等)
Visual Studio/MSBuild 采用了非常不同的方法。它使用多个线程构建项目,但仅按顺序构建单个源文件。当您有很多小项目时,这非常有用。但是,当您的项目包含大量源文件时,这会令人沮丧。
有没有人知道为什么 Visual Studio 的人不使用线程来构建单独的源文件,如 Windows 人所做的(或至少习惯于)?