Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Внизограничение на число операторов Найти похожие ветки
← →
shake (2006-10-19 05:51) [0]приветствую !
такой вопрос: есть ли в делфи ограничение на число строк кода или число операторов (имеется в виду для проекта с одним юнитом) ?
← →
Ketmar © (2006-10-19 05:52) [1]есть. оперативка+своп. как закончатся -- всё, алес.
← →
shake (2006-10-19 06:07) [2]хорошо. ну а так на вскидку известно сколько оперативки/свопа имень надо для программы в 10 000 строк ?
← →
Ketmar © (2006-10-19 06:09) [3]это не размеры. это смешные числа. один CDM5 имеет больше. %-)
← →
Джо © (2006-10-19 06:10) [4]> для программы в 10 000 строк ?
Программа на 10 000 строк — это мелочь.
Но программа на 10 000 строк в ОДНОМ модуле — это бред. :) За редкими специфичными исключениями, вроде автосгенерированного исходника.
← →
Ketmar © (2006-10-19 06:12) [5]честно признаться, не могу представить необходимость иметь столько строк в одном файле. если это какой-то автогенератор -- фтопку его. вместе с аффтаром.
← →
Ketmar © (2006-10-19 06:13) [6]впрочем, моя библиотека UI имеет большой модуль на 180 кил, в котором ~6000 строк. компиляется "на ура".
← →
Джо © (2006-10-19 06:16) [7]Вот, сгенерировал dpr чуть более 10 000 000 строк, при попытке откомпилить его при помощи dcc от BDS 2006 получил Out of memory :) При том, что ОЗУ у меня 2 Гб :)
← →
Ketmar © (2006-10-19 06:18) [8]зверюга. напоминает башорг:
питон при 10 метрах исходника типа "not not not ... not 1" валится с "out of memory". отстойный язык.
%-)
← →
Percent (2006-10-19 06:19) [9]имеется в виду для проекта с одним юнитом... ...в 10 000 строк
Для того, чтобы в одном юните было 10 000 строк, нужны веские основания. То есть, судя по вопросу и разделу форума, автор еще недостаточно сведущ в проектировании. И 10 000 строк кода в одном модуле, скорее, показатель недостаточно продуманного проекта. Я бы рекомендовал разбить этот модуль на несколько логически компонованных составляющих.
То есть, Delphi откомпилирует на порядки больше. 10 000 строк - это то, что откомпилируется на любом компьютере. То есть, если ОС на этом компьютере запустилась, то уж 10 000 строк откомпилируются...
← →
Ketmar © (2006-10-19 06:21) [10]>[9] Percent 19-Oct-2006, 06:19
>Для того, чтобы в одном юните было 10 000 строк, нужны
>веские основания.
например, ленивость перечислять полтора десятка модулей в uses. %-)
← →
Думкин © (2006-10-19 06:21) [11]> Джо © (19.10.06 06:10) [4]
> Ketmar ©"c:\Program Files\Borland\Delphi7\Source\Vcl\ComCtrls.pas" - 22894 строки
"c:\Program Files\Borland\Delphi7\Source\Vcl\Controls.pas" - 10954 строки
"c:\Program Files\Borland\Delphi7\Source\Vcl\DB.pas" - 11000 строк
← →
Думкин © (2006-10-19 06:23) [12]А в Windows.pas - еще больше. :)
← →
Джо © (2006-10-19 06:23) [13]> [11] Думкин © (19.10.06 06:21)
> [11] Думкин © (19.10.06 06:21)
Это как раз те "исключения"... "Что позволено Борланду, не позволено быку" ;)
← →
Ketmar © (2006-10-19 06:23) [14]>[11] Думкин(c) 19-Oct-2006, 06:21
сильно подозреваю, что их писали так же, как пишу я -- куча мелких модулей, которые после отладки собираются в одного монстра. %-)
← →
Думкин © (2006-10-19 06:26) [15]Могу ошибаться, по памяти и давнему, но в библиотеке от pbear.com были модули с размером порядка 10000 строк. А я их иногда правил - это было весело.
← →
Percent (2006-10-19 06:26) [16]:)
← →
Ketmar © (2006-10-19 06:28) [17]>[15] Думкин(c) 19-Oct-2006, 06:26
у меня уже на моих 6 тысячах colorer тормозит. но это всё равно лучше, нежели десяток имён в uses. %-)
← →
Loginov Dmitry © (2006-10-19 07:42) [18]Джо © (19.10.06 6:10) [4]
Но программа на 10 000 строк в ОДНОМ модуле — это бред.
А если модуль порядка 60000 строк, то это что?
← →
Percent (2006-10-19 07:57) [19]А если модуль порядка 60000 строк, то это что?
Это два Windows.pas
← →
Джо © (2006-10-19 07:58) [20]> [18] Loginov Dmitry © (19.10.06 07:42)
> Джо © (19.10.06 6:10) [4]
> Но программа на 10 000 строк в ОДНОМ модуле — это бред.
>
> А если модуль порядка 60000 строк, то это что?
Это плохо спроектированный модуль, наверное.
← →
Ketmar © (2006-10-19 08:17) [21]>[18] Loginov Dmitry(c) 19-Oct-2006, 07:42
>А если модуль порядка 60000 строк, то это что?
это кг/ам, пардон.
← →
Barloggg (2006-10-19 09:04) [22]ну, библиотека KOL из принципа вся размещена в одном файле. была.
Обнаружилось что дельфи не может проглотить исходник одного модуля больше 64килостроки (всмысле 65535 строк).
Поэтому библиотека KOL расползлась на несколько файлов. точнее откинула часть редкоиспользуемых функций.
размер pas файла - 2 мб с лишним. первый переход по ctrl+click вызывает задумчивость на несколько секунд.
размер dpr - фиг знает, не смотрел.
вот вам пример здоровенного исходника. но это так сделано осознанно, из-за идеологии KOL.
← →
Ketmar © (2006-10-19 09:09) [23]>[22] Barloggg 19-Oct-2006, 09:04
>Обнаружилось что дельфи не может проглотить исходник
>одного модуля больше 64килостроки (всмысле 65535 строк).
ух ты! вот ведь...
← →
Anatoly Podgoretsky © (2006-10-19 09:11) [24]
> хорошо. ну а так на вскидку известно сколько оперативки/свопа
> имень надо для программы в 10 000 строк ?
Если строка "a", то скажем 100 миллионов, а вот если строка "0123456789012345678901234567890123456789012345678901234567890123456789012345678 901234567890123456789", то 1 миллион, а у тебя какие строки?
← →
Джо © (2006-10-19 09:13) [25]> [22] Barloggg (19.10.06 09:04)
> из-за идеологии KOL.
Странная у KOL идеология, размещать все в одном файле. К чему бы она?..
← →
Ketmar © (2006-10-19 09:15) [26]>[25] Джо(c) 19-Oct-2006, 09:13
>Странная у KOL идеология, размещать все в одном файле. К
>чему бы она?..
к smart linking, насколько я помню.
← →
Джо © (2006-10-19 09:18) [27]> [26] Ketmar © (19.10.06 09:15)
> >чему бы она?..
> к smart linking, насколько я помню.
А чем разбитие на несколько модулей помещает smart linking-то?
← →
Barloggg (2006-10-19 09:18) [28]
> >Странная у KOL идеология, размещать все в одном файле.
> К
> >чему бы она?..
> к smart linking, насколько я помню.
это точно.
к тому-же подлючение лишнего модуля добавляет несколько лишних десятков байт к готовому ехе-шнику. а раз KOL создавался для экономии, то если уж жадничать, то по полной :)
да и страдает от такого подхода лишь сам автор. ему же вносить все исправления приходится а не нам, пользователям его библиотеки. :)
← →
Джо © (2006-10-19 09:21) [29]Впрочем, пускай, действительно, стадает :)
← →
Barloggg (2006-10-19 09:26) [30]но, с другой стороны когда один файл проще.
достаточно написать uses kol и все. все компоненты (стандартные), все функции все в одном. ну еще перед kol добавить еще и uses windows для подключения типов данных.
в общем два модуля и вся мощь альтернативы VCL здесь и сейчас.
← →
Anatoly Podgoretsky © (2006-10-19 09:30) [31]> Barloggg (19.10.06 09:04) [22]
> Обнаружилось что дельфи не может проглотить исходник одного
> модуля больше 64килостроки (всмысле 65535 строк).
Обратись к Панову, он тебе расскажет, про модули размером в несколько миллионов строк, так что не рассказывай сказки про то, что Дельфи настолько слаба, что не может проглотить исходник в 65535 строк
← →
Anatoly Podgoretsky © (2006-10-19 09:31) [32]Нравятся мне эти приКОЛисты
← →
Ketmar © (2006-10-19 09:33) [33]>[27] Джо(c) 19-Oct-2006, 09:18
>А чем разбитие на несколько модулей помещает smart linking-
>то?
а там всё сделано в одном object. ага. %-)
← →
Плохиш © (2006-10-19 11:14) [34]
> Anatoly Podgoretsky © (19.10.06 09:31) [32]
> Нравятся мне эти приКОЛисты
А мог бы и ветку в "Потрепаться" отправить :-)
← →
Barloggg (2006-10-19 16:47) [35]
> > Barloggg (19.10.06 09:04) [22]
> > Обнаружилось что дельфи не может проглотить исходник одного
> > модуля больше 64килостроки (всмысле 65535 строк).
>
> Обратись к Панову, он тебе расскажет, про модули размером
> в несколько миллионов строк, так что не рассказывай сказки
> про то, что Дельфи настолько слаба, что не может проглотить
> исходник в 65535 строк
>
да, представь себе.
вообще-то не может проглотить больше чем эта цифра. меньше может.
правда я не собираюсь распространять это утверждение на последние версии. Да и KOL начинал писать кажется на Дельфи3. вот с тех пор и была озвучена эта цифра.
← →
DrPass © (2006-10-19 17:57) [36]
> Джо © (19.10.06 09:18) [27]
> А чем разбитие на несколько модулей помещает smart linking-
> то?
В Delphi - не помешает. Но есть еще такой программный уродец как Lazarus :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.043 c