_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 tamanho 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_mallocse baseia em malloc; Para obter mais informações, consulte malloc.
_aligned_offset_mallocestá marcado como __declspec(noalias) e __declspec(restrict), que significa que a função é garantida que não modificar variáveis globais e que o ponteiro retornado não é com alias.Para obter mais informações, consulte noalias e restringir.
Essa função define errno para ENOMEM se a alocação de memória falhou ou o tamanho solicitado era maior do que _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 seus parâmetros.Se 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 terá permissão para continuar, esta função retorna NULL e define errno para EINVAL.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_aligned_offset_malloc |
<malloc.h> |
Exemplo
Para obter mais informações, consulte _aligned_malloc.