다음을 통해 공유


OpCodes.Localloc 필드

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

네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared ReadOnly Localloc As OpCode
‘사용 방법
Dim value As OpCode

value = OpCodes.Localloc
public static readonly OpCode Localloc
public:
static initonly OpCode Localloc
public static final OpCode Localloc
public static final var Localloc : OpCode

설명

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

형식

어셈블리 형식

설명

FE 0F

localloc

로컬 힙에서 공간을 할당합니다.

다음과 같이 순차적으로 스택 전환 동작이 발생합니다.

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

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

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

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

기본 데이터 형식을 Stind_I4와 같은 stind 명령으로 저장하고 Ldind_I4와 같은 ldind 명령으로 로드할 수 있도록 결과 주소가 정렬됩니다.

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

메모리가 부족하여 요청을 수행할 수 없으면 StackOverflowException이 throw됩니다.

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

  • ILGenerator.Emit(OpCode)

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

OpCodes 클래스
OpCodes 멤버
System.Reflection.Emit 네임스페이스