OpCodes.Localloc Mező

Definíció

Bizonyos számú bájtot foglal le a helyi dinamikus memóriakészletből, és leküldi az első lefoglalt bájt címét (átmeneti mutató, típus *) a kiértékelési verembe.

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 

Mező értéke

Megjegyzések

Az alábbi táblázat felsorolja az utasítás hexadecimális és Microsoft köztes nyelv (MSIL) szerelvényformátumát, valamint egy rövid összefoglalást:

Format Szerelvény formátuma Leírás
FE 0F localloc Foglalja le a helyet a helyi halomból.

A verem átmeneti viselkedése szekvenciális sorrendben a következő:

  1. A lefoglalt bájtok száma a verembe kerül.

  2. A veremből kiugró bájtok száma; a rendszer a méretnek megfelelő mennyiségű memóriát foglal le a helyi halomból.

  3. A rendszer a lefoglalt memória első bájtjára mutató mutatót küld a verembe.

Az localloc utasítás lefoglalja (típussize) bájtjait natural unsigned int a helyi dinamikus memóriakészletből, és visszaadja az első lefoglalt bájt címét (átmeneti mutató, típus*). A visszaadott memóriablokk csak akkor inicializálódik 0-ra, ha a metódus inicializálási jelzője .true Amikor az aktuális metódus végrehajt egy parancsot Ret, a helyi memóriakészlet újra elérhetővé válik.

Az eredményként kapott cím úgy van igazítva, hogy minden primitív adattípus ott tárolható legyen az stind utasítások (például Stind_I4) használatával, és az ldind utasítások (például Ldind_I4) használatával betölthető legyen.

Az localloc utasítás nem történhet meg egy filter, catch, finallyvagy fault blokkon belül.

StackOverflowException akkor kerül be, ha nincs elegendő memória a kérés kiszolgálásához.

A következő Emit metódus túlterhelése használhatja az localloc opcode-ot:

A következőre érvényes: