Partilhar via


_aligned_offset_malloc

Aloca memória em um limite de alinhamento especificado.

void * _aligned_offset_malloc(
   size_t size, 
   size_t alignment, 
   size_t offset
);

Parâmetros

  • [in]size
    O dimensionar da alocação de memória solicitada.

  • [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.

Valor de retorno

Um ponteiro para o bloco de memória que foi alocado ou NULL Se a operação falhou.

Comentários

_aligned_offset_malloc é útil em situações onde o alinhamento é necessária em um elemento aninhado; por exemplo, se o alinhamento era necessária em uma classe aninhada.

_aligned_offset_malloc baseia-se em malloc; Para obter mais informações, consulte malloc.

_aligned_offset_malloc está marcado como __declspec(noalias) e __declspec(restrict), que significa que a função tem a garantia não modificar variáveis global e que o ponteiro retornado não é com alias. Para obter mais informações, consulte noalias and restringir.

In Visual C++ 2005, define essa função errno para ENOMEM Se a falha na alocação de memória ou se era maior do que o dimensionar solicitado _HEAP_MAXREQ. Para obter mais informações sobre o errno, consulte errno, _doserrno, _sys_errlist e _sys_nerr.Além disso, _aligned_offset_malloc valida os parâmetros. If alignment não é uma potência de 2 ou se offset é maior que ou igual a size 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.

Requisitos

Rotina

Cabeçalho necessário

_aligned_offset_malloc

<malloc.h>

Exemplo

Para obter mais informações, consulte _aligned_malloc.

Consulte também

Referência

Alinhamento de dados