Программа на форте может быть представлена так: Ядро. Наращенный функционал Служебные библиотеки, код которых не используется напрямую ( без вызовов ) Требуемый функционал.
Служебные библиотеки в конечной программе не нужны, поэтому их код можно удалить. Вот тут-то и встаёт проблема USER . Если в служебке есть юзвери, то после удаления кода что делать с выделенной памятью?
а) Ничего. Ни плюсов ни минусов б) написать менеджер памяти Часть освободившейся памяти или вся она будет перераспределена в дальнейшем. + Усложнение реализации слов пользовательской памяти. - Отсутствие покрытия манипуляций на низком уровне. - в) возложить юзверей на сами служебные библиотеки - словари. Вся память будет под контролем. + Усложнение реализации - Завязка на словари - Кажется, это решение есть в форке. Надо будет получше покопаться в исходниках.
Также есть ещё один ответвлённый способ избежать юзверей в определённых случаях. Главные слова служебок сами хранят переменные на стеке возвратов. И к ним просто организуется доступ. Хороший вариант для реализации DSL , где гл.слова является интерпретатором/транслятором других слов. Однако ж усложнение работы со стеком возвратов. Всё же там доп.структуры будут находится.
Программа на форте может быть представлена так: Ядро. Наращенный функционал Служебные библиотеки, код которых не используется напрямую ( без вызовов ) Требуемый функционал.
Служебные библиотеки в конечной программе не нужны, поэтому их код можно удалить. Вот тут-то и встаёт проблема USER . Если в служебке есть юзвери, то после удаления кода что делать с выделенной памятью?
а) Ничего. Ни плюсов ни минусов б) написать менеджер памяти Часть освободившейся памяти или вся она будет перераспределена в дальнейшем. + Усложнение реализации слов пользовательской памяти. - Отсутствие покрытия манипуляций на низком уровне. - в) возложить юзверей на сами служебные библиотеки - словари. Вся память будет под контролем. + Усложнение реализации - Завязка на словари - Кажется, это решение есть в форке. Надо будет получше покопаться в исходниках.
Также есть ещё один ответвлённый способ избежать юзверей в определённых случаях. Главные слова служебок сами хранят переменные на стеке возвратов. И к ним просто организуется доступ. Хороший вариант для реализации DSL , где гл.слова является интерпретатором/транслятором других слов. Однако ж усложнение работы со стеком возвратов. Всё же там доп.структуры будут находится.
|