/STACK (Alokacje stosu)

/STACK:reserve[,commit]

Uwagi

Opcja /STACK konsolidatora ustawia rozmiar stosu w bajtach. Użyj tej opcji tylko podczas tworzenia .exe pliku. Opcja /STACK jest ignorowana po zastosowaniu do .dll plików.

Wartość reserve określa łączną alokację stosu w pamięci wirtualnej. W przypadku maszyn ARM64, x86 i x64 domyślny rozmiar stosu wynosi 1 MB.

Wartość commit podlega wykładni przez system operacyjny. W środowisku WindowsRT określa ilość pamięci fizycznej do przydzielenia w danym momencie. Zatwierdzona pamięć wirtualna powoduje zarezerwowanie miejsca w pliku stronicowania. Wyższa commit wartość pozwala zaoszczędzić czas, gdy aplikacja potrzebuje więcej miejsca na stosie, ale zwiększa wymagania dotyczące pamięci i prawdopodobnie czas uruchamiania. W przypadku maszyn ARM64, x86 i x64 wartość domyślna commit to 4 KB.

reserve Określ wartości i commit w notacji szesnastkowej w języku C lub dziesiętnym (użyj prefiksu0x).

Innym sposobem ustawienia rozmiaru stosu jest instrukcja STACKSIZE w pliku definicji modułu (.def). STACKSIZE zastępuje opcję Alokacje stosu (/STACK), jeśli zostały określone oba. Rozmiar stosu można zmienić po skompiluj .exe plik za pomocą EDITBIN narzędzia .

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości System konsolidatora właściwości>konsolidatora> konfiguracji.

  3. Zmodyfikuj jedną z następujących właściwości:

    • Rozmiar zatwierdzenia stosu

    • Rozmiar rezerwy stosu

Aby programowo ustawić tę opcję konsolidatora

  1. Zobacz StackCommitSize i StackReserveSize właściwości.

Zobacz też

Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC