2016-09-15 22 views
0

我想加快建立由多個大文件組成的C++項目。將* <MultiProcessorCompilation>true</MultiProcessorCompilation>添加到* .vcxproj文件中並且速度的提高很不錯,但是由於它使用了所有可用的cpus,它可能會讓我的機器在一段時間內無響應。如何在MSBuild中設置/ MP與指定的CPU計數

是否有任何方法通過* .vcxproj項目文件將參數傳遞給編譯器的/ MP選項(因爲我想在構建使用Visual Studio時獲得好處)?

不幸的是,重構/拆分項目目前不是一種選擇。

+0

你在問這麼多不同的事情,很難說,你真的需要知道什麼。 – IInspectable

+0

這裏只有一個問題:)編輯它以更清楚我要求的內容。謝謝。 –

回答

1

您可以設置將在編譯期間對項目的配置屬性,C/C++中使用的過程的最大數量 - 命令行,附加選項:

/MP [processMax]

其中processMax是所需的數量。

正如微軟指出

如果省略processMax參數,編譯器檢索您的計算機操作系統, 有效的處理器的數量 和每個處理器

創建一個進程

因此,您應該嘗試使用processMax值,以決定哪個最適合您的系統以便作出響應。

當您指定/ MP [processMax]例如/ MP4在項目的配置屬性(C/C++ - 命令行,附加選項)中,這實際上保存在vcxproj文件中:<AdditionalOptions>/MP4</AdditionalOptions> in <ClCompile>元素。

+0

我知道。我問的是如何使用ms項目文件將參數傳遞給/ MP選項。 –

+0

在命令行中,您可以使用/ maxcoucount開關:msbuild [project]/maxcpucount:[processMax] – GeorgeT

+0

您是否知道在.vcxproj文件中指定該文件的方法? –