DbgEvalObjectsNumber

From SunFlurry wiki
Revision as of 14:16, 16 June 2019 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  DbgEvalObjectsNumber (Функции отладки)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Визуальность:Нет

Отладочная функция получает количество объектов в стеке исполнения текущего потока. Объекты стека исполнения -- особая совокупность объектов для оптимизации исполнения математических выражений, простые объекты уникальны для стека исполнения, записи в стеке исполнения для сложных объектов являются ссылками на реальные объекты из стека объектов (DbgObjectsNumber). Оптимизация достигается увеличением скорости выделения памяти под новые объекты. Стек исполнения заполняется по мере вычисления какого-либо выражения и будет обнулен в момент, когда вычисления будут окончены.

Синтаксис

dbgEvalObjectsNumber():<Количество объектов в стеке исполнения (INT)>

Возвращаемое значение

Возвращает целое число -- количество объектов из стека исполнения.

Примеры

  Function Func()
    Exit DbgEvalObjectsNumber();
  EndFunction

//Выводит число 0 (вычислений не производится)
Message(DbgEvalObjectsNumber());

//Выводит 9 (в момент вызова функции, исполнение основного выражения еще не завершилось).
Message(1+2*Func());

//Выводит 1 (в момент вызова функции, исполнение основного выражения только начиналось, в стек был помещен один объект).
Message(Func()+1);