Re: Слишком большой sppr. Что с ним делать?

От: Sergey Kronshtadtov <CGatePro_at_mx_ru>
Дата: Thu 24 Mar 2011 - 14:40:40 MSK

>> Написал sppr-чик, а он не грузится. Говорит, что слишком большой размер
>> сгенеренного чего-то. Это после 30 с небольшим килобайт началось.
>
> Это с какой версией CGPro? У вас вся програмка одним куском в виде
> одного файла sppr выполнена? Тогда вынесите функции и процедурки в
> отдельные sppi файлы.

Версия, где-то между 5.2.5 и 5.2.8, судя по примерному времени установки. Мне кажется, что 5.2.6. Вечером уточню, если это не так. Sppr один, в нем main, еще две entry и две процедуры. Процедуры мелкие - нехватку места не пересиливают:( Помог бы вынос entry наружу, но пока не получилось.

>> Пытался растащить разные ентри по разным файлам, но с ходу не сообразил
>> как их потом спавнить. External для entry не прокатывает, spawn с
>> указанием имени файла тоже.
>> Собственно, вопросы
>> - в последних версиях тоже размер скрипта ограничен? И какое точно там
>> ограничение?
>
> Размер сгенерённого байт-кода для одного модуля - 1 MB.

Ого. Это оно из обильно комментированного 35к скрипта 1м байткод раздуло? Ну, то есть, это так и должно быть, или что-то идет не правильно? В байткод попадает только логическая выжимка, или имеет смысл удалять комментарии?

>> - а что теперь делать то с этим, собственно?:)
>
> Разделить код на модули.
> <
http://www.communigate.com/CommuniGatePro/CGPL.html#Module>

Мануал почитываю, да:) Он ведь нас учит, что внешних entry не бывает, если я все правильно понял?

Нельзя ли как-то породить дочерний таск из другого, постороннего, sppr, например?

Напрашивается попробовать несколько странный подход полннго выноса начинки entry наружу в виде процедуры и описание entry виде единственного вызова этой процедуры... Может быть, как то еще можно? Получено Thu Mar 24 11:40:58 2011

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:17:11 MSK