OpCodes.Localloc OpCodes.Localloc OpCodes.Localloc OpCodes.Localloc Field

Definition

Ordnet 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.Allocates a certain number of bytes from the local dynamic memory pool and pushes the address (a transient pointer, type ) of the first allocated byte onto the evaluation stack.

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

Die folgende Tabelle enthält die hexadezimale und das Assemblyformat von Microsoft Intermediate Language (MSIL) sowie eine kurze Referenz-Zusammenfassung:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatFormat AssemblyformatAssembly Format BeschreibungDescription
FE 0FFE 0F localloclocalloc Speicherplatz wird vom lokalen Heap zuordnen.Allocate space from the local heap.

Im Stapel-laufen, wird in der angegebenen Reihenfolge:The stack transitional behavior, in sequential order, is:

  1. Die Anzahl der Bytes, die zugeordnet werden, wird auf dem Stapel abgelegt.The number of bytes to be allocated is pushed onto the stack.

  2. Die Anzahl von Bytes wird vom Stapel geholt. Größe des Arbeitsspeichers, die für die Größe wird vom lokalen Heap zugeordnet.The number of bytes is popped from the stack; an amount of memory corresponding to the size is allocated from the local heap.

  3. Ein Zeiger auf das erste Byte der belegte Arbeitsspeicher ist auf dem Stapel abgelegt.A pointer to the first byte of the allocated memory is pushed onto the stack.

Die localloc Anweisung ordnet size (Typ natural unsigned int) Bytes aus dem lokalen dynamischen Arbeitsspeicher pool und die Adresse zurückgibt (einen flüchtigen Zeiger, Typ *) des ersten reservierten Bytes.The localloc instruction allocates size (type natural unsigned int) bytes from the local dynamic memory pool and returns the address (a transient pointer, type *) of the first allocated byte. Der Speicherblock, der zurückgegeben wird nur dann, wenn das Initialisierungsflag für die Methode wird mit 0 initialisiert true.The block of memory returned is initialized to 0 only if the initialize flag on the method is true. Wenn die aktuelle Methode führt eine Ret, lokalen Speicherpool für die erneute Verwendung zur Verfügung gestellt wird.When the current method executes a Ret, the local memory pool is made available for reuse.

Die resultierende Adresse orientiert, damit alle primitiven Datentyp es gespeichert werden kann, mit der stind Anweisungen (z. B. Stind_I4) und geladen, mit der ldind Anweisungen (z. B. Ldind_I4).The resulting address is aligned so that any primitive data type can be stored there using the stind instructions (such as Stind_I4) and loaded using the ldind instructions (such as Ldind_I4).

Die localloc Anweisung kann nicht auftreten, in einem filter, catch, finally, oder fault Block.The localloc instruction cannot occur within a filter, catch, finally, or fault block.

StackOverflowException wird ausgelöst, wenn nicht genügend zur Verarbeitung die Anfrage Arbeitsspeicher.StackOverflowException is thrown if there is insufficient memory to service the request.

Die folgenden Emit Überladung der Methode verwendet die localloc Opcode:The following Emit method overload can use the localloc opcode:

  • ILGenerator.Emit(OpCode)ILGenerator.Emit(OpCode)

Gilt für: