OpCodes.Localloc Feld

Definition

Belegt eine bestimmte Anzahl von Bytes aus dem lokalen dynamischen Speicherpool und legt die Adresse (einen flüchtigen Zeiger, Typ *) des ersten reservierten Bytes auf dem Auswertungsstapel ab.

public: static initonly System::Reflection::Emit::OpCode Localloc;
public static readonly System.Reflection.Emit.OpCode Localloc;
 staticval mutable Localloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Localloc As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
FE 0F localloc Zuordnen von Speicherplatz aus dem lokalen Heap.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Die Anzahl der zuzuordnenden Bytes wird in den Stapel gepusht.

  2. Die Anzahl der Bytes wird aus dem Stapel geknallt; Eine Der Größe entsprechende Speichermenge wird vom lokalen Heap zugeordnet.

  3. Ein Zeiger auf das erste Byte des zugeordneten Speichers wird auf den Stapel gepusht.

Die localloc Anweisung ordnet size Bytes (Typ natural unsigned int) aus dem lokalen dynamischen Speicherpool zu und gibt die Adresse (ein vorübergehender Zeiger, Typ *) des ersten zugeordneten Byte zurück. Der zurückgegebene Speicherblock wird nur dann auf 0 initialisiert, wenn das Initialisierungsflag für die -Methode lautet true. Wenn die aktuelle Methode einen Retausführt, wird der lokale Speicherpool zur Wiederverwendung zur Verfügung gestellt.

Die resultierende Adresse wird so ausgerichtet, dass ein beliebiger primitiver Datentyp dort mithilfe der stind Anweisungen (z Stind_I4. B. ) gespeichert und mithilfe der ldind Anweisungen (z Ldind_I4. B. ) geladen werden kann.

Die localloc -Anweisung kann nicht innerhalb eines filter- , catch- finallyoder fault -Blocks auftreten.

StackOverflowException wird ausgelöst, wenn nicht genügend Arbeitsspeicher zum Verarbeiten der Anforderung vorhanden ist.

Die folgende Emit Methodenüberladung kann den localloc Opcode verwenden:

Gilt für: