Forth
http://fforum.winglion.ru/

SPF: закончился кодофайл, как увеличить?
http://fforum.winglion.ru/viewtopic.php?f=18&t=2865
Страница 1 из 1

Автор:  VoidVolker [ Ср июл 18, 2012 13:42 ]
Заголовок сообщения:  SPF: закончился кодофайл, как увеличить?

Добавление нового слова приводит к исключению при компиляции, GetLastError = 998. Программа не особо большая - размер скомпилированного кода около 200кб и примерно столько же массивы с текстом. Каким образом можно изменить размер кодофайла? Пересборкой спф с увеличенным кодофайлом? Или есть какое-то специальное слово?

Автор:  chess [ Ср июл 18, 2012 14:03 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

VoidVolker писал(а):
Каким образом можно изменить размер кодофайла?

Вставьте строчку в начало своей программы:
Код:
IMAGE-SIZE 10 1024 * 1024 * + TO IMAGE-SIZE  \ увеличиваем образ форт-системы

Автор:  Mihail [ Ср июл 18, 2012 15:42 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

chess писал(а):
Вставьте строчку в начало своей программы:
Код:
IMAGE-SIZE 10 1024 * 1024 * + TO IMAGE-SIZE  \ увеличиваем образ форт-системы

Размер текущей системы это не увеличит. Но можно создать другую с большим размером свободной области для кодофайла.
Код:
spf4.exe IMAGE-SIZE 10 1024 * + TO IMAGE-SIZE S" spf4p.exe" SAVE BYE


В рантайме можно тупо:
Код:
10 1024 * 1024 *  ALLOCATE  THROW  DP !

Автор:  VoidVolker [ Ср июл 18, 2012 18:44 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

chess писал(а):
Вставьте строчку в начало своей программы:
Код:
IMAGE-SIZE 10 1024 * 1024 * + TO IMAGE-SIZE  \ увеличиваем образ форт-системы

Mihail писал(а):
Размер текущей системы это не увеличит.

Да, таким образом оно не работает - компиляция спотыкается на том же месте с аксес виолатион.
Mihail писал(а):
Но можно создать другую с большим размером свободной области для кодофайла.
Код:
spf4.exe IMAGE-SIZE 10 1024 * + TO IMAGE-SIZE S" spf4p.exe" SAVE BYE


Да, так сработало. Спасибо. А если пересобрать спф - то где указать размер?
Mihail писал(а):
В рантайме можно тупо:
Код:
10 1024 * 1024 *  ALLOCATE  THROW  DP !

Не проверял - получится ли при этом сохранить систему по SAVE?

Автор:  Mihail [ Ср июл 18, 2012 20:24 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

VoidVolker писал(а):
А если пересобрать спф - то где указать размер?

http://spf.cvs.sourceforge.net/viewvc/spf/src/win/spf_pe_save.f?annotate=1#l12
http://spf.cvs.sourceforge.net/viewvc/spf/src/posix/memory.f?annotate=1#l12

VoidVolker писал(а):
В рантайме можно тупо:
Код:
10 1024 * 1024 *  ALLOCATE  THROW  DP !

Не проверял - получится ли при этом сохранить систему по SAVE?

Нет конечно. ALLOCATE это запрос памяти у ОС и ничего больше.

Автор:  VoidVolker [ Чт июл 19, 2012 07:23 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

Mihail писал(а):
VoidVolker писал(а):
А если пересобрать спф - то где указать размер?

http://spf.cvs.sourceforge.net/viewvc/spf/src/win/spf_pe_save.f?annotate=1#l12
http://spf.cvs.sourceforge.net/viewvc/spf/src/posix/memory.f?annotate=1#l12

Первый файл - это выделение памяти для самого спф? А второй - для собираемой системы? Т.е. при перекомпиляции спф-а надо во втором файле увеличивать память?

Автор:  Mihail [ Чт июл 19, 2012 10:16 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

VoidVolker писал(а):
Первый файл - это выделение памяти для самого спф? А второй - для собираемой системы?

Первый файл для сборки виндовой форт-системы, второй линуксовой.

Автор:  VoidVolker [ Чт июл 19, 2012 13:11 ]
Заголовок сообщения:  Re: SPF: закончился кодофайл, как увеличить?

О, точно - не заметил путей.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/