Share via


/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 開發環境中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性]>[連結器]>[系統] 屬性頁面。

  3. 修改下列其中一個屬性:

    • 堆疊認可大小

    • 堆疊保留大小

若要以程式設計方式設定這個連結器選項

  1. 請參閱 StackCommitSizeStackReserveSize 屬性。

另請參閱

MSVC 連結器參考
MSVC 連結器選項