/STACK (Stack Allocations)

/STACK:reserve[,commit]

Remarks

The /STACK option sets the size of the stack in bytes. Use this option only when you build an .exe file.

The reserve value specifies the total stack allocation in virtual memory. For x86 and x64 machines, the default stack size is 1 MB. On the Itanium chipset, the default size is 4 MB.

commit is subject to interpretation by the operating system. In Windows NT and Windows 2000 it specifies the amount of physical memory to allocate at a time. Committed virtual memory causes space to be reserved in the paging file. A higher commit value saves time when the application needs more stack space, but increases the memory requirements and possibly the startup time. For x86 and x64 machines, the default commit value is 4 KB. On the Itanium chipset, the default value is 16 KB.

Specify the reserve and commit values in decimal or C-language notation.

Another way to set the size of the stack is with the STACKSIZE statement in a module-definition (.def) file. STACKSIZE overrides the Stack Allocations (/STACK) option if both are specified. You can change the stack size after the .exe file is built by using the EDITBIN tool.

To set this linker option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.

  2. Click the Linker folder.

  3. Click the System property page.

  4. Modify one of the following properties:

    • Stack Commit Size

    • Stack Reserve Size

To set this linker option programmatically

See Also

Reference

Setting Linker Options

Linker Options