다음을 통해 공유


OpCodes.Localloc 필드

정의

로컬 동적 메모리 풀에서 특정 바이트 수를 할당하고 처음 할당된 바이트의 주소(임시 포인터, * 형식)를 계산 스택으로 푸시합니다.

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 

필드 값

설명

다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.

서식 어셈블리 형식 Description
FE 0F localloc 로컬 힙에서 공간을 할당합니다.

스택 전환 동작은 순차적으로 다음과 같습니다.

  1. 할당할 바이트 수가 스택에 푸시됩니다.

  2. 스택에서 표시되는 바이트 수입니다. 크기에 해당하는 메모리 양이 로컬 힙에서 할당됩니다.

  3. 할당된 메모리의 첫 번째 바이트에 대한 포인터가 스택에 푸시됩니다.

명령은 localloc 로컬 동적 메모리 풀에서 바이트를 할당 size (형식 natural unsigned int)하고 할당된 첫 번째 바이트의 주소(일시적인 포인터, 형식 *)를 반환합니다. 반환되는 메모리 블록은 메서드의 초기화 플래그가 인 경우에만 0으로 초기화됩니다 true. 현재 메서드가 를 Ret실행하면 로컬 메모리 풀을 다시 사용할 수 있게 됩니다.

결과 주소는 명령(예: )을 사용하여 stind 기본 데이터 형식을 저장하고 지침(예Ldind_I4: Stind_I4)을 사용하여 ldind 로드할 수 있도록 정렬됩니다.

명령이 localloc , , catchfinally또는 fault 블록 내에서 filter발생할 수 없습니다.

StackOverflowException 는 요청을 서비스할 메모리가 부족한 경우 throw됩니다.

다음 Emit 메서드 오버로드는 opcode를 localloc 사용할 수 있습니다.

적용 대상