OpCodes.Localloc Pole

Definice

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í.

C#
public static readonly System.Reflection.Emit.OpCode Localloc;

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:

  1. Počet bajtů, které se mají přidělit, se nasdílí do zásobníku.

  2. 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.

  3. 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, finallynebo 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:

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0