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