Condividi tramite


_aligned_offset_malloc

Alloca la memoria in un limite di allineamento specificato.

Sintassi

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

Parametri

size
Dimensione dell'allocazione di memoria richiesta.

alignment
Valore di allineamento, che deve essere una potenza intera di 2.

offset
Offset nell'allocazione di memoria per imporre l'allineamento.

Valore restituito

Puntatore al blocco di memoria allocato o NULL se l'operazione non è riuscita.

Osservazioni:

_aligned_offset_malloc è utile nelle situazioni in cui è necessario l'allineamento in un elemento annidato, ad esempio, nel caso in cui è stato necessario l'allineamento in una classe annidata.

_aligned_offset_malloc è basato su malloc. Per altre informazioni, vedere malloc.

_aligned_offset_malloc è contrassegnato __declspec(noalias) e __declspec(restrict), il che significa che la funzione non deve modificare le variabili globali e che il puntatore restituito non è aliasato. Per altre informazioni, vedere noalias e restrict.

La funzione imposta errno su ENOMEM se l'allocazione di memoria non riesce o se la dimensione richiesta è maggiore di _HEAP_MAXREQ. Per altre informazioni su errno, vedere errno, _doserrno, _sys_errliste _sys_nerr. _aligned_offset_malloc, inoltre, convalida i propri parametri. Se alignment non è una potenza di 2 o se offset è diverso da zero e maggiore o uguale a size, questa funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce NULL e imposta errno su EINVAL.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria
_aligned_offset_malloc <malloc.h>

Esempio

Per ulteriori informazioni, vedere _aligned_malloc.

Vedi anche

Allineamento dei dati