/STACK (alocações de pilha)

/STACK:reserve[,commit]

Comentários

A opção do vinculador /STACK define o tamanho da pilha em bytes. Use essa opção somente quando você compilar um arquivo .exe. A opção /STACK é ignorada quando aplicada a arquivos .dll.

O valor reserve especifica a alocação de pilha total na memória virtual. Para computadores ARM64, x86 e x64, o tamanho da pilha padrão é de 1 MB.

O valor commit está sujeito à interpretação pelo sistema operacional. No WindowsRT, especifica a quantidade de memória física a ser alocada por vez. A memória virtual confirmada faz com que o espaço seja reservado no arquivo de paginação. Um valor commit mais alto economiza tempo quando o aplicativo precisa de mais espaço de pilha, mas aumenta os requisitos de memória e, possivelmente, o tempo de inicialização. Para computadores ARM64, x86 e x64, o valor commit padrão é de 4 KB.

Especifique os valores reserve e commit em notação decimal ou hexadecimal em linguagem C (use um prefixo 0x).

Outra maneira de definir o tamanho da pilha é com a instrução STACKSIZE em um arquivo de definição de módulo (.def). STACKSIZE substituirá a opção de Alocações de Pilha (/STACK) se ambas forem especificadas. Você pode alterar o tamanho da pilha depois que o arquivo .exe for criado usando a ferramenta EDITBIN.

Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Sistema.

  3. Modifique uma das seguintes propriedades:

    • Tamanho do commit de pilha

    • Tamanho da reserva de pilha

Para definir esta opção do vinculador por meio de programação

  1. Consulte as propriedades StackCommitSize e StackReserveSize.

Confira também

Referência de vinculador MSVC
Opções de vinculador MSVC