Показать полную графическую версию : Delphi
Surround
21-06-2003, 06:01
Не знаете, почему проги написанные на Делфи такие большие в объеме? Приложение - только форма пустая выскакивает - 500кб!
Дело в компиляторе Делфи. Плюс делфиевского компилятора заключается в том, что он закомпиленый файлик встраивает несколько обязательных библиотек. Потому готовая програма работает без дополнительных библиотек(тобиш без установленого Делпхи). Разительное отличие с Си++Билдер. Сишные экзешники занимают мало, но не работают без дополнительных библиотет(около 3 Мб), которые надо скопировать в папку с програмой. Кстати это вопрос, которым мучаются все програмисты на Делпхи - компилятор Си++ Билдер.
Хотя как по мне Делпхиеский компилятор лучше.
vasketsov
21-06-2003, 19:08
Surround
Короче, объясняю.
1) Если в проекте нет ссылок на модуль Forms - проект несклько кил будет, порядка 10, в него RTL борландовая помещается, такая немеренная - потому что на OLE основана.
2) Если есть ссылка на Forms.pas - сразу более 300kb будет.
И то и другое незначительно от версии Delphi зависит.
Дело в том что в Forms очень много всего понаписано для того, чтобы окошки работали, там и статических переменных куча, и шлюзы, и массивы огромной длины,... Вот оттуда ноги и растут.
А к компилятору это не имеет отношения вообще никакого.
PS существует опция линкера, которая определяет, bpl-ки в проект собираются или отдельно болтаются и и надо с собой таскать. Аналог есть и у BCB.
Surround
21-06-2003, 20:04
vasketsov
В этом линкере отключил неиспользуемые библиотеки - на размере файла никак не сказалось:o
Добавлено:
Дык получается если у меня в проге выскакивает хоть одно маленькое окошко, то это чудо уже весит 300kb?:gigi:
vasketsov
21-06-2003, 20:47
1) значит не то отключил.
2) если выдаешь его через WINAPI MessageBox - вовсе нет, если через TForm - стопудово.
Surround
25-06-2003, 20:09
Дык как все-таки размер файла уменьшить? Я так и не понял.
Жму Свойства проекта (русская версия) удаляю на вкладке Пакеты все Пакеты для дизайна. Из Uses выкидываю все, что не нужно. Размер файлов - все равно const. Ну не меняется...:(
vasketsov
25-06-2003, 20:32
Surround
неужто надо носом тыкать?
На закладке Packages надо включить Build with runtime packages. Все пакеты, что перечислены ниже, не будут линковаться в EXE-шник и их придется таскать отдельно.
Borislav
26-06-2003, 08:50
Можно и потом чем нибудь сжимать типа upx.
У меня пятая Делфа. Файл около 300 кил сжался до 144 Кб.
И Вин Апи учить не надо. (Если это для себя):biglaugh:
Megabyte
27-06-2003, 06:35
Есть другой способ - библиотека KOL ( http://bonanzas.rinet.ru/rindex.htm ). Она заменяет собой VCL и позволяет писать программы с использованием форм размером под 20-30 кб. Единственный минус - если пишешь программу на KOL, все визуальные компоненты должны быть из KOL.
Исправлено: Megabyte, 7:36 27-06-2003
Ork Yason
27-06-2003, 08:08
vasketsov
если мне не изменяет память, то как-то полгода назад заходил разговор на тему не рациональности компилятора и ВЦЛ ваще, и кажись ты сказал, что компилятор выкидывает не используемые методы классов... я не ошибся?
vasketsov
27-06-2003, 17:58
Ork Yason
ссылку пожалуста
но тут речь в любом случае не об этом. тут нет классов, а есть статические данные и код в initialization, они по любому отработают
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.