visual c++ 編譯器選項
/zm(指定預編譯頭的記憶體分配限制)
更新:2007 年 11 月
確 定編譯器分配的用於構造預編譯頭的記憶體量。
/zmfactorfactor
乙個比例因子,確定編譯器用於構造預編譯頭的記憶體量。
factor 引數是編譯器定義的工作緩衝區的預設大小所佔的百分比。factor 引數的預設值是 100 (%),但您可以指定更大或更小的數量。
在早期版本的 visual c++ 中,編譯器使用幾個離散堆,每個堆都有一定的限制。當前,編譯器可根據需要動態增加堆,最多可增加到總堆大小限制,並且只需要固定大小的緩衝區即可構造預 編譯頭。因此,很少需要/zm編譯器選項。
如果在您使用/zm編譯器選項時,編譯器用完堆空間,發出 c1060 錯誤訊息,則您可能保留了太多的記憶體。可考慮移除/zm選項。如果編譯器發出 c1076 錯誤訊息,則伴隨的 c3859 訊息會指定您在使用/zm編譯器選項重新編譯程式時應使用的 factor 引數。
下表顯示當您假定預設預編譯頭緩衝區的大小為 75 mb 時,factor 引數如何影響記憶體分配限制。
factor 的值 記憶體分配限制
10 7.5 mb
100 75 mb
200 150 mb
1000 750 mb
2000 1500 mb設定記憶體分配限制的其他方式
在 visual studio 開發環境中設定 /zm 編譯器選項
開啟專案的「屬性頁」對話方塊。有關詳細資訊,請參見如何:開啟專案屬性頁 。
單擊「c/c++」資料夾。
單擊「命令列」屬性頁。
在「附加選項」框中鍵入編譯器選項。
以程式設計方式設定 /zm 編譯器選項
編譯器選項 Zm(指定預編譯頭的記憶體分配限制)
zmnumber其中 number 比例因子,用於為預編譯頭確定 編譯器的記憶體分配限制。備註 zmnumber 為預編譯頭確定編譯器的記憶體分配限制。number 是比例因子,其預設值為 100,指定分配 50mb 記憶體。number 的最大值為 2000。下表說明 number 如何修改記憶體...
預編譯頭的使用
預編譯頭的概念 所謂的預編譯頭就是把乙個工程中的那一部分 預先編譯好放在乙個檔案裡 通常是以.pch為副檔名的 這個檔案就稱為預編譯標頭檔案這些預先編譯好的 可以是任何的c c 甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會被經常改變。如果這些 被修改,則需要重新編譯生成預編譯標...
正確使用vs的預編譯頭
預編譯頭的概念 所謂的預編譯頭就是把乙個工程中的那一部分 預先編譯好放在乙個檔案裡 通常是 以.pch為副檔名的 這個檔案就稱為預編譯標頭檔案這些預先編譯好的 可以是任何的 c c 甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會 被經常改變。如果這些 被修改,則需要重新編譯生成預...