_freea
Desaloca ou libera um bloco de memória.
void _freea(
void *memblock
);
Parâmetros
- memblock
Anteriormente alocado bloco de memória para ser liberado.
Valor de retorno
Nenhum.
Comentários
The _freea função Desaloca um (bloco de memóriamemblock) que foi alocado anteriormente por uma telefonar para _malloca. _freea verifica se a memória foi alocada no heap ou pilha. Se ela foi alocada na pilha, _freea não faz nada. Se ela foi alocada na pilha, o número de bytes liberadas equivale ao número de bytes solicitado quando o bloco foi alocado.If memblock é NULL, o ponteiro será ignorado e _freea retorna imediatamente. Tentativa de liberar um ponteiro inválido (um ponteiro para um bloco de memória que não foi alocado pelo _malloca) podem afetam as solicitações subseqüentes de alocação e causar erros.
_freea chamadas free internamente se ele encontrar que a memória é alocada no heap. Se a memória é no heap ou pilha é determinada por um marcador colocado na memória no endereço imediatamente anterior a memória alocada.
In Visual C++ 2005, se ocorrer um erro em liberar a memória errno é definida com informações do sistema operacional sobre a natureza da falha. Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
Depois que um bloco de memória foi liberado, _heapmin minimiza a quantidade de memória disponível no heap concentração as regiões não utilizadas e liberando-os para o sistema operacional.Memória liberada não é liberada para o sistema operacional é restaurada para o pool livre e está disponível para alocação novamente.
Uma telefonar para _freea devem acompanhar todas as chamadas para _malloca. Também é um erro ao chamar _freea duas vezes na mesma memória. Quando o aplicativo está vinculado com uma versão de depurar das bibliotecas de time de execução C, particularmente com _malloc_dbg Recursos habilitados pela definição _CRTDBG_MAP_ALLOC, é mais fácil localizar ausentes ou duplicadas chamadas para _freea. Para obter mais informações sobre como a pilha é gerenciada durante o processo de depurar, consulte A Heap depurar CRT.
_freea está marcado como __declspec(noalias), que significa que a função é garantida não para modificar as variáveis global. Para obter mais informações, consulte noalias.
Requisitos
Função |
Cabeçalho necessário |
---|---|
_freea |
<stdlib.h> e <malloc.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Consulte o exemplo para _malloca.
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.