OpCodes.Localloc Mező
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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ő:
A lefoglalt bájtok száma a verembe kerül.
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.
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: