Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

_aligned_offset_realloc_dbg

Ändert die Größe eines Speicherblocks, der _aligned_malloc (nur _aligned_offset_malloc oder Debugversion) belegt wurde.

void * _aligned_offset_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   size_t offset,
   const char *filename,
   int linenumber 
);

[in] memblock

Der Zeiger auf den aktuellen Speicherblock.

[in] size

Die Größe des belegten Speichers

[in] alignment

Der Ausrichtungswert, der eine integrale Potenz von 2 sein muss.

[in] offset

Der Offset in der Speicherbelegung, welcher zum Erzwingen der Ausrichtung dient.

[in] filename

Ein Zeiger auf den Namen der Quelldatei, die den angeforderten Vorgang aligned_offset_realloc oder NULL.

[in] linenumber

Zeilennummer in der Quelldatei, in der der angeforderte Vorgang aligned_offset_realloc oder NULL war.

_aligned_offset_realloc_dbg gibt einen void-Zeiger auf den neu zugeteilten (und ggf. verschoben) Speicherblock zurück. Der Rückgabewert ist NULL, wenn die Größe 0 und das Pufferargument nicht NULL ist oder wenn nicht genügend Speicher vorhanden ist, um den Block auf die angegebene Größe zu erweitern. Im ersten Fall wird der erste Originalblock freigegeben. Im zweiten Fall bleibt der Originalblock unverändert. Der Rückgabewert zeigt auf einen Speicherplatz, für den sichergestellt ist, dass er zum Speichern eines beliebigen Objekttyps ordnungsgemäß ausgerichtet ist. Um einen Zeiger auf einen anderen Typ als void abzurufen, wenden Sie eine Typumwandlung auf den Rückgabewert an.

_aligned_offset_realloc_dbg ist eine Debugversion der _aligned_offset_realloc-Funktion. Wenn _DEBUG nicht definiert ist, wird jeder Aufruf von _aligned_offset_realloc_dbg in einen Aufruf des _aligned_offset_reallocreduziert. _aligned_offset_realloc und teilen _aligned_offset_realloc_dbg Basisheap einen Speicherblock im neu zu _aligned_offset_realloc_dbg bringt jedoch einige Debugfunktionen unter: Puffer auf beiden Seiten des Benutzers zu einem Teil des Verlusten Parameter Blockformat, um bestimmte Typen von Zuordnungen zu verfolgen und filename/linenumber Informationen zu testen, Blocks um den Ursprung Zuordnung von Anforderungen zu bestimmen.

Wie _aligned_offset_mallocermöglicht eine _aligned_offset_realloc_dbg bei einem Offset innerhalb der Struktur angeordnet sein - Struktur.

_realloc_dbg weist den angegebenen Speicherblock mit etwas mehr Platz als angeforderte newSizeneu. newSize ist möglicherweise größer oder kleiner als die Größe des ursprünglich belegten Speicherblocks. Der zusätzliche Speicherplatz wird vom Debugheap-Manager verwendet, um die die Debug-Speicherblöcke zu verknüpfen und der Anwendung Debug-Headerinformation und Überschreibpuffer bereitzustellen. Die ergäbe Neuzuordnung kann das Verschieben des ursprünglichen Speicherblocks an einen anderen Speicherort im Heap als auch beim Ändern der Größe des Speicherblocks. Wenn der Speicherblock verschoben wird, wird der Inhalt des ursprünglichen Blocks überschrieben.

Diese Funktion legt errno auf ENOMEM fest, wenn die Speicherbelegung fehlgeschlagen ist oder die angeforderte Größe _HEAP_MAXREQ übersteigt. Weitere Informationen zu errno finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr. Außerdem _aligned_offset_realloc_dbg überprüft seine Parameter. Wenn alignment keine Potenz von 2 oder offset größer gleich size und ungleich 0 ist, ruft diese Funktion den Handler für ungültige Parameter auf, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt diese Funktion NULL zurück und sezt errno auf EINVAL.

Weitere Informationen dazu, wie Speicherblöcke in der Debugversion des Basisheaps belegt, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap. Weitere Informationen zur Belegung von Blocktypen und wie diese verwendet werden, finden Sie unter Blocktypen auf dem Debugheap. Weitere Informationen zu den Unterschieden zwischen dem Aufruf der Standard-Heap-Funktion und ihrer Debugversion in einer im Debug-Modus übersetzten Anwendung finden Sie unter Verwenden der Debugversion für die Grundversion.

Routine

Erforderlicher Header

_aligned_offset_realloc_dbg

<crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie in der Einführung unter Kompatibilität.

Bibliotheken

Debugversionen von nur C .

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Community-Beiträge

HINZUFÜGEN
Anzeigen: