_aligned_malloc_dbg
Aloca memória em um limite de alinhamento especificado com espaço adicional para um cabeçalho de depurar e substituir buffers (somente versão de depurar).
void * _aligned_malloc_dbg(
size_t size,
size_t alignment,
const char *filename,
int linenumber
);
Parâmetros
[in]size
dimensionar da alocação de memória solicitada.[in]alignment
O valor de alinhamento, que deve ser uma potência inteira de 2.[in]filename
Ponteiro para o nome do arquivo de fonte que solicitou a operação de alocação ou nulo.[in]linenumber
Número no arquivo de fonte em que foi solicitada a operação de alocação de linha ou nulo.
Valor de retorno
Um ponteiro para o bloco de memória que foi alocado ou NULLSe a operação falhou.
Comentários
_aligned_malloc_dbg é uma versão de depurar das _aligned_malloc função. Quando _DEBUG não estiver definido, cada telefonar para _aligned_malloc_dbg é reduzido a uma telefonar para _aligned_malloc. Ambos os _aligned_malloc e _aligned_malloc_dbg alocar um bloco de memória no heap de base, mas _aligned_malloc_dbg oferece vários recursos de depuração: buffers em ambos os lados da parte do bloco para testar a vazamentos e usuáriofilename/linenumber informações para determinar a origem de solicitações de alocação.
_aligned_malloc_dbg aloca o bloco de memória com um pouco mais espaço que o solicitado size. O espaço adicional é usado pelo Gerenciador de heap de depurar para vincular os blocos de memória de depurar e para fornecer o aplicativo com informações de cabeçalho de depurar e substituir os buffers.Quando o bloco é alocado, a parte do usuário do bloco está preenchida com o valor 0xCD e cada um dos buffers de substituir são preenchidos com 0xFD.
In Visual C++ 2005, _aligned_malloc_dbg Define errno para ENOMEM Se falhar uma alocação de memória ou se exceder a quantidade de memória necessária (incluindo a sobrecarga mencionada anteriormente) _HEAP_MAXREQ. Para obter informações sobre este e outros códigos de erro, consulte errno, _doserrno, _sys_errlist e _sys_nerr. Além disso, _aligned_malloc_dbg valida os parâmetros. If alignment não é uma potência de 2 ou size é zero, essa função chama o manipulador de parâmetro inválido sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, esta função retorna NULL e conjuntos errno para EINVAL.
Para obter informações sobre como os blocos de memória são alocados, inicializado e gerenciado na versão de depurar do heap de base, consulte A pilha de depurar e gerenciamento de memória.
Para obter informações sobre os tipos de bloco de alocação e como eles são usados, consulte Tipos de blocos no Heap depurar.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_aligned_malloc_dbg |
<crtdbg.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Bibliotecas
Versões de depurar de Bibliotecas de time de execução c somente.
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.