/Zm
(指定先行編譯標頭記憶體配置限制)
判斷編譯器配置來建構先行編譯標頭檔的記憶體量。
語法
/Zm
factor
引數
factor
縮放比例百分比,決定編譯程式用來建構先行編譯標頭的記憶體數量。
自 factor
變數是編譯程式定義工作緩衝區的預設大小百分比。 的預設值 factor
為 100 (百分比),但您可以指定較大或較小的數量。
備註
在 Visual Studio 2015 之前的版本中,C++編譯程式使用了數個離散堆積,而且每個堆積都有有限的限制。 目前,編譯程式會視需要動態成長堆積,以達到堆積大小總計的限制,並允許先行編譯的標頭組成多個位址範圍。 現在, /Zm
編譯程式選項很少必要。
如果編譯程式用盡堆積空間,並在您使用/Zm
編譯程式選項時發出 C1060 錯誤訊息,您可能已保留太多記憶體。 請考慮移除 /Zm
選項。
如果編譯程序發出 C1076 錯誤訊息,隨附 的 C3859 訊息會 factor
指定當您使用 /Zm
編譯程式選項重新編譯時要使用的自變數。 只有在先行編譯標頭使用 #pragma hdrstop
時,這個訊息才重要。 在其他情況下,這是 Windows 虛擬記憶體壓力問題所造成的假錯誤,因此應該忽略使用 /Zm
選項的建議。 相反地,請考慮使用 /maxcpucount
選項來MSBUILD.EXE搭配 /MP
選項來CL.EXE時減少平行進程的數目。 如需詳細資訊,請參閱 先行編譯標頭 (PCH) 問題和建議。
下表顯示 自 factor
變數如何影響記憶體配置限制。 在數據表中,我們假設預設先行編譯標頭緩衝區的大小為 75 MB。
factor 的值 |
記憶體配置限制 |
---|---|
10 | 7.5 MB |
100 | 75 MB |
200 | 150 MB |
1000 | 750 MB |
2000 | 1500 MB |
設定記憶體配置限制的其他方式
在 Visual Studio 開發環境中設定 /Zm
編譯程式選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
在 [其他選項] 方塊中輸入 /Zm 編譯程序選項。
以程式設計方式設定 /Zm
編譯程序選項
- 請參閱 AdditionalOptions。