_aligned_offset_malloc
Alloca memoria su un limite di allineamento specificato.
void * _aligned_offset_malloc(
size_t size,
size_t alignment,
size_t offset
);
Parametri
[in] size
La dimensione dell'allocazione di memoria richiesta.[in] alignment
Il valore di allineamento, che deve essere una potenza intera di 2.[in] offset
L'offset dell'allocazione di memoria per forzare l'allineamento.
Valore restituito
Un puntatore al blocco di memoria allocato o NULL se l'operazione ha esito negativo.
Note
_aligned_offset_malloc è utile nelle situazioni in cui l'allineamento è necessario in un elemento annidato; ad esempio, se l'allineamento è necessario in una classe annidata.
_aligned_offset_malloc si basa su malloc; per ulteriori informazioni, consultare malloc.
_aligned_offset_malloc è contrassegnata in __declspec(noalias) e __declspec(restrict), pertanto la funzione garantisce che le variabili globali non vengono modificate, e che il puntatore restituito è già utilizzato. Per ulteriori informazioni, vedere noalias e limiti.
Questa funzione imposta errno in ENOMEM se non è riuscita l'allocazione della memoria o se la dimensione richiesta è maggiore di _HEAP_MAXREQ. Per ulteriori informazioni su errno, vedere errno, _doserrno, _sys_errlist, and _sys_nerr. Inoltre, _aligned_offset_malloc convalida i suoi parametri. Se alignment non è una potenza di 2 o se offset è maggiore o uguale a size e diverso da zero, questa funzione chiama il gestore del parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, questa funzione restituisce NULL e imposta errno su EINVAL.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_aligned_offset_malloc |
<malloc.h> |
Esempio
Per ulteriori informazioni, vedere _aligned_malloc.