Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

_aligned_offset_recalloc_dbg

Altera o dimensionar de um bloco de memória que foi alocado com _aligned_malloc or _aligned_offset_malloc e inicializa a memória a 0 (somente versão de depurar).


void * _aligned_offset_recalloc_dbg(
   void *memblock, 
   size_t num, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber
);

[in]memblock

O ponteiro de bloco de memória corrente.

[in]num

Número de elementos.

[in]size

Comprimento em bytes de cada elemento.

[in]alignment

O valor de alinhamento, que deve ser uma potência inteira de 2.

[in]offset

O deslocamento para a alocação de memória para forçar o alinhamento.

[in]filename

Ponteiro para o nome do arquivo de fonte que solicitou o realloc operação ou nulo.

[in]linenumber

Número no arquivo de fonte da linha onde o realloc a operação foi solicitada ou nulo.

_aligned_offset_recalloc_dbg Retorna um ponteiro nulo para o bloco de memória realocada (e possivelmente movidos). O valor retornado é NULL Se o dimensionar é zero e não é o argumento de buffer NULL, ou se não houver memória suficiente disponível para expandir o bloco para determinado dimensionar. No primeiro caso, o bloco original é liberado. No segundo caso, o bloco original é inalterado. O valor retornado aponta para um espaço de armazenamento que é garantido a ser alinhado adequadamente para o armazenamento de qualquer tipo de objeto. Para obter um ponteiro para um tipo diferente de void, use um tipo convertido no valor retornado.

_aligned_offset_realloc_dbg é uma versão de depurar das _aligned_offset_recalloc função. Quando _DEBUG não estiver definido, cada telefonar para _aligned_offset_recalloc_dbg é reduzido a uma telefonar para _aligned_offset_recalloc. Os dois _ aligned_offset_recalloc e _aligned_offset_recalloc_dbg realocar um bloco de memória no heap de base, mas _aligned_offset_recalloc_dbg acomoda vários recursos de depuração: buffers em ambos os lados da parte do usuário do bloco para testar se há vazamentos, um bloco de parâmetro para controlar os tipos de alocação específica e de tipofilename/linenumber informações para determinar a origem de solicitações de alocação.

_aligned_offset_realloc_dbg realoca o bloco de memória especificada com um pouco mais espaço que o solicitado newSize. newSize pode ser maior ou menor que o dimensionar do bloco de memória alocada originalmente. 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. A realocação pode resultar em movimentar o bloco de memória original para um local diferente no heap, bem sistema autônomo alterar o dimensionar do bloco de memória. Se o bloco de memória for movido, o Sumário do bloco original foi substituído.

In Visual C++ 2005, define essa função errno para ENOMEM Se a falha na alocação de memória ou se o dimensionar solicitado (num * size) era maior que _HEAP_MAXREQ. Para obter mais informações sobre o errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr. Além disso, _aligned_offset_recalloc_dbg valida os parâmetros. If alignment não é uma potência de 2 ou se offset é maior que ou igual ao dimensionar solicitado e diferente de zero, essa função chama o manipulador de parâmetro inválido, conforme 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. Para obter informações sobre as diferenças entre chamar uma função de heap padrão e sua versão de depurar em uma compilação de depurar de um aplicativo, consulte Usando a versão de depurar e a versão base.

Rotina

Cabeçalho necessário

_aligned_offset_recalloc_dbg

<malloc.h>

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.

Contribuições da comunidade

Mostrar: