Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Директива .maxstack

Директива .maxstack

При реализации метода непосредственно средствами CIL нужно помнить о специальной директиве, которая называется .maxstack. Как следует из ее названия, директива .maxstack задает максимальное число переменных, которые может вместить стек в любой момент времени при выполнении метода. К счастью, директива .maxstack имеет значение по умолчанию (8), которого оказывается достаточно для подавляющего большинства методов, создаваемых разработчиками. Но у вас также есть возможность определить это значение явно, чтобы при желании вручную указать числа локальных переменных в стеке.

.method public hidebysig instanсе void Speak() cil managed {
 // В контексте этого метода в стек помещается ровно
 // одно значение (строковый литерал).
 .maxstack 1
 ldstr "Всем привет…"
 call void [mscorlib]System.Consolr::WriteLine(string)
 ret
}

Оглавление книги


Генерация: 1.673. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз