Freigeben über


_aligned_offset_malloc

Belegt Speicher für eine angegebene Grenze integralen.

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

Parameter

  • [in] size
    Die Größe der angeforderten Speicherbelegung.

  • [in] alignment
    Der Ausrichtungswert, der eine integrale Potenz von 2 sein muss.

  • [in] offset
    Der Offset in die Speicherbelegung, um die Ausrichtung zu erzwingen.

Rückgabewert

Ein Zeiger auf den Speicherblock, der NULLoder wenn der fehlgeschlagenen Vorgang zugeordnet wurde.

Hinweise

_aligned_offset_malloc ist in Situationen nützlich, in denen Ausrichtung in einem geschachtelten Element erforderlich ist. Wenn beispielsweise Ausrichtung auf geschachtelte Klassen benötigt wurde.

_aligned_offset_malloc basiert auf malloc. Weitere Informationen finden Sie unter malloc.

_aligned_offset_malloc ist als __declspec(noalias) und **__declspec(restrict)**und bedeutet, dass die Funktion nicht garantiert globale Variablen ändern und dass der zurückgegebene Zeiger nicht mit einem Alias versehene.Weitere Informationen finden Sie unter noalias und Beschränken Sie ein.

Diese Funktion legt errno zu ENOMEM wenn die Speicherbelegung fehlgeschlagen fest oder wenn die angeforderte Größe größer als _HEAP_MAXREQwar.Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.Außerdem _aligned_offset_malloc überprüft seine Parameter.Wenn keine alignment Potenz von 2 ist oder wenn offset größer oder gleich size und Wert ungleich 0 (null) ist, Aufrufe dieser Funktion der ungültige Parameter für, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt diese Funktion NULL zurück und legt ihn fest. EINVALzu errno

Anforderungen

Routine

Erforderlicher Header

_aligned_offset_malloc

<malloc.h>

Beispiel

Weitere Informationen finden Sie unter _aligned_malloc.

Siehe auch

Referenz

Datenausrichtung