Как скомпилировать длинную Basic-прогу? — ZXNet «code.zx»

Как скомпилировать длинную Basic-прогу?

ZXNet echo conference «code.zx»



from: Константин Жуков
to: All
date: 13 September 2006
Hello, All Hеобходимо скомпилировать файл длиной 13Кб. Попробовал tobos'ом, но ему не хватает памяти. Слышал, что он как-то может компилировать в сам бэйсик файл. Hо как это сделать? Или лучше использовать другой компилятор. Дробных чисел в программе нет. Hо есть вызовы маш.кода.

from: Slavik Tretiak
to: All
date: 16 September 2006
Hello, Jukov не хочу обмануть, но имхо было 2 версии тобоса, которай компилила что есть в памяти, и вторая которая компилила файл. честно говоря последний раз видел тобос в году 1995 ;) но кстати, если у тебя нет дробнах чисел, то наверное нет смысла использовать тобос. есть же куча целочисленных компиляторов (правда не смог вспомнить ни одного названия) и ещё меня смущает вот это - "Hо есть вызовы маш.кода." мне кажется что если процедура в коде как-нибудь влияла на васик, то после компайла это всё работать не будет.

from: Southern Bear
to: All
date: 16 September 2006
Hello, Jukov Juk> Или лучше использовать другой компилятор. Лучше перенести как можно большую часть программы в маш-код. И васика меньше будет и шустродействие повысится.

from: TomCaT
to: All
date: 17 September 2006
Hello, Sinus Sin> но кстати, если у тебя нет дробнах чисел, то наверное нет смысла Sin> использовать тобос. есть же куча целочисленных компиляторов (правда Sin> не смог вспомнить ни одного названия) Из "Как написать игру", книга 1, гл. 9, с.178 > "...тем более, что существует расширенная дисковая версия компилятора > MCoder2 -- MC2b.v4 насколько нам известно, единственная, ибо дисковые > версии прочих компиляторов по сути таковыми не являются, так как > программа все равно может быть оттранслирована только из памяти. > Кроме того, MC2b.v4, в отличие от прочих своих собратьев, создает > совершенно независимый от компилятора объектный код, что несколько > упрощает компоновку конечного продукта, а главное, -- освобождает > дополнительную память для размещения фонтов, спрайтов, подпрограмм, в > машинных кодах и прочих нужд. Версия MC2b.v4 имеет еще ряд > существенных улучшений и дополнений... программа эта написана одним > из соавторов Александром Евдокимовым

from: Константин Жуков
to: All
date: 7 October 2006
Hello, gRAVER_ZX Hайден альтернативный выход - всё, что тормозило, теперь написано в кодах.

from: Медведев Павел
to: All
date: 7 October 2006
Hello, TomCaT я на своем реальном спектруме, когда программировал в бейсике, компилировал свои проги в Delphin'е. с ним работать достаточно просто, располагается в памяти с адреса 40000, а скомпилированная программа - с 53100, но могу и наврать (не помню уже, когда им последний раз пользовался, лет пять назад, наверно). в свою бейсик прогу я добавлял такие строки 9990 randomize usr 40000 9999 randomize usr 53100 соответственно сначала я компилирую прогу командой run 9990 а потом запускаю - run 9999 то есть если бейсик-область в памяти распологается с адреса примерно 26000, а сам компилятор - с 40000. то процентов 99, что твоя длинная прога скомпилируется. вопрос в другом, найдешь ли ты сейчас компилятор delphin.

from: TomCaT
to: All
date: 9 October 2006
Hello, Jukov Вот это лучший компилятор! :v2_yahoo; Ручная; работа.

from: TomCaT
to: All
date: 9 October 2006
Hello, Jukov Вот это наверняка лучший компилятор :v2_yahoo; --; ручная работа получается, потому и ценится выше.

from: jim
to: All
date: 9 October 2006
Hello, Jukov как вариант: можно попробовать разбить бейсик-программу на отдельные подпрограммы и скомпилировать их отдельно. если компилятор позволяет, расположить их впритирку друг за другом (обычно скомпилированный код располагается сразу над RAMTOP-ом). а основную программу скомпировать в последнюю очередь. проблема будет только в передаче переменных процедурам, что можно решить, используя PEEK и POKE.