OpCodes.Localloc Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidělí určitý počet bajtů z místního dynamického fondu paměti a nasdílí adresu (přechodný ukazatel, typ *
) prvního přiděleného bajtu do zásobníku vyhodnocení.
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
Hodnota pole
Poznámky
Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:
Formát | Formát sestavení | Description |
---|---|---|
FE 0F | localloc | Přidělte místo z místní haldy. |
Přechodné chování zásobníku v sekvenčním pořadí je:
Počet bajtů, které se mají přidělit, se nasdílí do zásobníku.
Počet bajtů je vynořit ze zásobníku; Velikost paměti odpovídající velikosti je přidělena z místní haldy.
Do zásobníku se nasdílí ukazatel na první bajt přidělené paměti.
Instrukce localloc
přidělí size
(typ natural unsigned int
) bajtů z místního fondu dynamické paměti a vrátí adresu (přechodný ukazatel, typ *
) prvního přiděleného bajtu. Vrácený blok paměti je inicializován na 0 pouze v případě, že příznak inicializace metody je true
. Když aktuální metoda spustí Ret, místní fond paměti je k dispozici pro opakované použití.
Výsledná adresa je zarovnaná tak, aby se do ní mohl uložit libovolný primitivní datový typ pomocí stind
pokynů (například Stind_I4) a načíst je pomocí ldind
pokynů (například Ldind_I4).
Instrukce localloc
nemůže proběhnout v bloku filter
, catch
, finally
nebo fault
.
StackOverflowException vyvolá se, pokud není k dispozici dostatek paměti pro obsluhu požadavku.
Následující Emit přetížení metody může použít localloc
opcode: