logo
TurboProlog / Документация / TOM_2

Управление памятью в Турбо Прологе.

С точки зрения Турбо Пролога доступная память делиться на области,

показанные на рисунке 2.1.

WWWWWWWWWWWWWWWWWWWWWWWWWWW

WWWWWWWWWWWWWWWWWWWWWWWWWWW Исходный текст программы

WWWWWWWWWWWWWWWWWWWWWWWWWWW

------------------------------------

IIIIIIIIIIIIIIIIIIIIIIIIIII

IIIIIIIIIIIIIIIIIIIIIIIIIII Сгенерированный код

IIIIIIIIIIIIIIIIIIIIIIIIIII

IIIIIIIIIIIIIIIIIIIIIIIIIII

------------------------------------

TTTTTTTTTTTTTTTTTTTTTTTTTTT

TTTTTTTTTTTTTTTTTTTTTT След

TTTTTTTTTTTT

------------------------------------

JJJJJJJJJJJJJJJJJJJJJJJJJJJ

JJJJJJJJJJJJJJJJJJJJJJJJJJJ

JJJJJJJJJJJJJJJJJJJJJJ Куча и глобальный стек

JJJJJJJJJJJJJJJ

JJJJJJJJJ

JJJJJ

JJ

-------------------------------------

HHHHH

HHHHHHHHH

HHHHHHHHHHHHHHH Стек

HHHHHHHHHHHHHHHHHHHHH

HHHHHHHHHHHHHHHHHHHHHHHHHHH

HHHHHHHHHHHHHHHHHHHHHHHHHHH

-------------------------------------------------

Рис. 2.1. Распределение памяти в Турбо Прологе.

# S - стек; используется для пересылки аргументов и возвращает

адреса для подцелей.

# H - область, отведенная под кучу.

# T - область, отведенная под след, который используется для

регистрации связываний и освобождений ссылочных

переменных.

# C - область, используемая для сгенерированного кода.

# P - область для исходного текста вашей программы, если вы

запускаете программу интерактивно (из среды подготовки

программ).

# G - глобальный стек (гстек).