/STACK
(堆疊設定)
/STACK:
reserve
[,
commit
]
備註
鏈接 /STACK
器選項會以位元組為單位設定堆疊的大小。 只有在您建置 .exe
檔案時,才使用此選項。 套 /STACK
用至 .dll
檔案時會忽略選項。
值 reserve
會指定虛擬記憶體中的堆疊配置總計。 針對 ARM64、x86 和 x64 機器,預設堆疊大小為 1 MB。
此值 commit
受限於操作系統的解譯。 在 WindowsRT 中,它會指定要一次配置的實體記憶體數量。 認可的虛擬記憶體會導致在分頁檔案中保留空間。 當應用程式需要較多的堆疊空間時,較高的 commit
值可以節省時間,但會增加記憶體需求且可能增加啟動時間。 針對 ARM64、x86 和 x64 機器,預設值 commit
為 4 KB。
以 reserve
十進制或 C 語言十六進位表示法指定 和 commit
值(使用 0x
前置詞)。
另一個設定堆疊大小的方法,是在 STACKSIZE
模組定義 (.def
) 檔案中使用 語句。 STACKSIZE
如果同時指定兩者,則會覆寫堆疊配置 (/STACK
) 選項。 您可以使用 工具,在檔案建置EDITBIN
之後.exe
變更堆疊大小。
在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[連結器]>[系統] 屬性頁面。
修改下列其中一個屬性:
堆疊認可大小
堆疊保留大小
若要以程式設計方式設定這個連結器選項
- 請參閱 StackCommitSize 和 StackReserveSize 屬性。