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
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:
Формат | Формат сборки | Описание |
---|---|---|
FE 0F | localloc | Выделение пространства из локальной кучи. |
Переходный режим стека в последовательном порядке:
Количество выделенных байтов помещается в стек.
Число байтов, выброщенных из стека; объем памяти, соответствующий размеру, выделяется из локальной кучи.
Указатель на первый байт выделенной памяти помещается в стек.
Инструкция localloc
выделяет (типnatural unsigned int
) байтов size
из локального пула динамической памяти и возвращает адрес (временный указатель, тип *
) первого выделенного байта. Возвращаемый блок памяти инициализируется значением 0, только если флаг инициализации метода имеет значение true
. Когда текущий метод выполняет , локальный Retпул памяти становится доступным для повторного использования.
Полученный адрес выравнивается таким образом, что любой примитивный тип данных можно сохранить в нем с помощью stind
инструкций (например, Stind_I4) и загрузить с помощью инструкций ldind
(например Ldind_I4, ).
Инструкция localloc
не может выполняться в блоке filter
, catch
, finally
или fault
.
StackOverflowException возникает, если недостаточно памяти для обслуживания запроса.
Emit Следующая перегрузка localloc
метода может использовать код операции:
Өнім | Нұсқалар |
---|---|
.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 |
.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 |
.NET кері байланысы
.NET — бастапқы коды ашық жоба. Пікір қалдыру үшін сілтемені таңдаңыз: