_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.