C6262
Aviso C6262: Função usa <constante>bytes da pilha: excede /ANALYZE: stacksize <constante>.Considere a possibilidade de mover alguns dados para pilha
Este aviso indica que o uso da pilha que excedem um limite predefinido foi detectado dentro de uma função.O dimensionar de pilha padrão para esse aviso é de 16 K bytes.Pilha, até mesmo no modo de usuário, é limitada e Falha ao confirmar uma página da pilha faz com que uma exceção de estouro de pilha.The _resetstkoflw função recupera de uma condição de estouro de pilha, permitindo que um programa continuar, em vez de apresentar um erro de exceção fatal. Se o _resetstkoflw função não é chamada, não há nenhuma página de proteção após a exceção anterior. Estouro na próxima vez que há uma pilha, não há nenhuma exceção em todos os e o processo é encerrado sem aviso.
Para corrigir esse aviso, você pode mover alguns dados para o heap ou aumentar o dimensionar de pilha.Em ambos os casos, antes de fazer alterações em seu código, você deve considerar as vantagens e desvantagens da abordagem adotada.
Exemplo
O código a seguir gera este aviso porque char buffer aloca 16382 bytes e a variável local inteiro i aloca outro 4 bytes, que juntos excedem o limite de dimensionar de pilha padrão de 16 K bytes:
#include <windows.h>
#define MAX_SIZE 16382
void f( )
{
int i;
char buffer[MAX_SIZE];
i = 0;
buffer[0]='\0';
// code...
}
O código a seguir corrige esse aviso, movendo alguns dados para pilha:
#include <stdlib.h>
#include <malloc.h>
#define MAX_SIZE 16382
void f( )
{
int i;
char *buffer;
i = 0;
buffer = (char *) malloc( MAX_SIZE );
if (buffer != NULL)
{
buffer[0] = '\0';
// code...
free(buffer);
}
}
Para corrigir esse aviso, ajustando o dimensionar da pilha, execute as seguintes etapas:
No menu Project, clique em Properties..
A caixa de diálogo Property Pages é exibida.
expandir a árvore de propriedades de configuração.
expandir a árvore de C/C ++.
clicar nas propriedades de linha de comando.
No Opções adicionais add /analyze:stacksize16388.
Consulte também
Tarefas
Como: Usar Nativo verificações em tempo de execução