Zm(指定預編譯頭的記憶體分配限制)

2021-05-22 04:58:06 字數 1147 閱讀 7444

visual c++ 編譯器選項

/zm(指定預編譯頭的記憶體分配限制)

更新:2007 年 11 月

確 定編譯器分配的用於構造預編譯頭的記憶體量。

/zmfactor
factor

乙個比例因子,確定編譯器用於構造預編譯頭的記憶體量。

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的函式,但是必須是穩定的,在工程開發的過程中不會 被經常改變。如果這些 被修改,則需要重新編譯生成預...