Разделы
- 1. Введение
- 2. Описание языка
- 3. Интерфейс программирования приложений (API)
- 3.1. Стек
- 3.2. Резервация памяти
- 3.3. Сообщения
- 3.4. Типы данных
- 3.5. Функции
- 3.5.1. Базовые функции скриптоввой системы
- 3.5.2. Функции для вставки на вершину стека значения
- 3.5.3. Перевод значений со стека в скриптовую ситему (экспорт (stack => script))
- 3.5.4. Функции для получения со стека (stack => C(++))
- 3.5.5. Функции для работы с аргументами в вызванной C(++) функции из скриптовой системы (script => C(++) function)
- 3.5.6. Функции отладки (DEBUG)
- 3.5.7. Функции для работы с препроцессом
- 4. Стандартная библиотека
2.10. Сборщик мусора
s4g осуществляет управление памятью. Все выделение памяти зависит от начальных настроек резервирования и кода исполняемых скриптов. Очистку (но не освобождение) памяти производит сборщик мусора. Для вызова полного цикла сборки мусора необходимо на стороне хост программы вызвать функцию s4g_call_gc
передав экземпляр скриптовой системы, в которой необходимо произвести очистку.
Чтобы осуществить сборку мусора из кода скрипта необходимо вызывать функцию call_gc
без аргументов.
Сборщик мусора работает с данными на основании пометок о количестве ссылок на данные и в соответсвии с их типом.
Все скалярные данные могут быть удалены только в случае очистки скриптовой системы (s4g_clear
) (для загрузки нового скрипта), либо в случае удаления скриптовой системы.
Сборщик мусора обрабатывает все типы данных кроме t_pdata
.