![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Dph |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 18.3.2004 Репутация: нет Всего: нет |
1. От чего зависить размер проги?
2. Как уменшить размер проги? Хотя по моим статистикам Delphi: File-->New->Application EXE размер:300-400 Kb. C++ Builder: File-->New->Application EXE размер: 50 Kb Assembler: (invoke CreateWindow ) API EXE размер: 2Kb Но я не знаю C++ и ASM !!! Почему? |
|||
|
||||
| andrey_post |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 23.12.2003 Где: Екатеринбург Репутация: нет Всего: нет |
Если хочешь максимально уменьшить размер проги, то не включай в компиляцию всякие библиотеки и компоненты. Но, потом возникает беда, когда запускаещь это мальнькую прогу на другом компе, то СЮРПРАЙС! Она не рабит!. Что бы программа работала, надо включать все библиотеки и компоненты в нее, но кое-кокие вещи можно и не засовывать. Оптимизируй код, зделай его проще.
--------------------
И что бы там не происходило, не стоит воспринимать жизнь слишком всерьёз, всё равно нам из неё живыми не выбраться!!! |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
Dph
В опциях проекта Делфи есть функции по управлению размерами. При максимальном уменьшении прога работает только на машинах с установленной Делфи версии не ниже чем та в которой разрабатывалась прога |
|||
|
||||
| DriveSoftware |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 17.3.2003 Репутация: нет Всего: 4 |
Dph
Оптимальным вариантом думаю будет использование альтернативы VCL-у, это KOL + MCK, размер пустого проекта 26kb |
|||
|
||||
| Serggggg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.12.2003 Где: Донецк, Украина Репутация: нет Всего: нет |
Также можно залезть в свойства компилятора и поотключать Debug-информацию и прочее.
Стоит действительно отметить, что Delphi пихает все библиотеки и модули в один exe-файл в отличие от С++ и Visual Basic. У нас в институте таким образом пострадало немало студентов - приносит человек в последний день курсовую, написанную на С++, а о том, чтобы принести ещё и библиотеки, необходимые для её запуска не подумал. Что делать? Домой - за dll'ками. А если хочешь рационально использовать память - используй собственные dll, только используй динамическое их подгружениеб а не статическое. Dph, на счет Asm ты загнул, конечно. Я очень уважаю этот язык. И немало строк на нем довелось написать. Но наваять на Asm'e, например, клиента для БД под Windows - это... ну, скажем так, весьма круто. А вообще andrey_post абсолютно прав. Используй рациональные алгоритмы. Так что удачи в написании программ. --------------------
C уважением, Serggggg. |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: нет Всего: 40 |
Есть специальные проги для сжатия *.exe'шников.
-------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
gepard
Может надо было в отдельную тему но ладно . Я где-то читал что упакованые Exeшники это не очень хорошо т.к. при запуске такого файла в память загружается упакованый и еще распакованный код или я не прав (мне этот вопрос очень интересен) |
|||
|
||||
| Serggggg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.12.2003 Где: Донецк, Украина Репутация: нет Всего: нет |
SlaUr, именно так. Это что-то типа архиватора. Только распаковка происходит уже непосредственно в RAM'e, а не в фоновом режиме с ProgressBar'ом, как у WinRar'a. На счет хорошо или не очень - не знаю - не пробовал ничего сжимать. А вот принцип именно такой.
--------------------
C уважением, Serggggg. |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: нет Всего: 40 |
Я просто констатировал факт. -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
На счет упаковки-я делаю так : Если программа работает недолго - упаковываю Если программа работает в фоновом режиме или долго - не упаковываю.
|
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
WinAPI рулит, размер файла - 8 кило. Аналогичная вещь на масме - 2 кило, ну если постараться, то 1.5
-------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
писать на чистом API и не мучится
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Tamerlann |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 10.11.2002 Где: Минск, Беларусь Репутация: нет Всего: 2 |
ИМХО писать на чистом API не каждый может с лёгкостью, а уж тем более когда дело касается больших проектов, а как правило именно их и пытаются ужать, они и без того здоровые.
И вопрос: я не знал про то что запакованные проги хранят в памяти две свои копии - запакованнуи и распакованную, но раз так, то я понимаю и быстродействие (во время ее выполнения) тоже должно страдать серьёзно? А как она загружается, тоже дольше? Добавлено @ 17:55 Т.о. я считаю KOL и MCK - лучший выход в случае, когда нужно ужать программу. --------------------
http://timursdev.blogspot.com/ |
|||
|
||||
| зайка |
|
|||
![]() Ушатая ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 624 Регистрация: 19.3.2004 Где: Москва Репутация: нет Всего: 7 |
А если прога межплатформенная? -------------------- /)/) (\__/) (\(\ (':'=)(=';'=)(=':') (")(").)(")--(")(.(")(") Бог создал Кошку, чтобы у человека был тигр, которого можно погладить. Виктор Гюго. |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
Tamerlann
кто вам сказал про 2 копии? я видел в инете гдето бредовую статейку на эту тему возьмите исходники UPX да и посматрите -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| pascal |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 16.7.2003 Где: Россия - Уфа Репутация: нет Всего: 1 |
Ну чуть сложнее будет, а так никаких ограничений... |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 6 Всего: 23 |
Просто в билдере по умалчанию установка есть не подклчать VCL в exe-файл. Из-за этого ехе меньше по размеру, но на машине без VCL эта программа работать не будет. В Delphi тоже можно так сделать: Project -> Options -> Packages -> Buld With Runtime Packages. Поставь галочку, если хочешь малые ехе -файлы. Некоторые простые окошки можно создавать с помощью CreateWindow. Это сложнее в плане программирования, но зато сэкономит место и работать будет быстрее. Удачи! |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Вот программа, exe которой весит 16кБ.
СУВ. ЗЫ. я иногда пользуюсь UPX, но упакованные этой утилитой программы вызывают пристальное внимание программ антивирусов (это выражается в очень долгом запуске программы при включенном сканировании всех запускаемых программ программой-антивирусом). -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
насчет упаковки:может правда держание в памяти нераспакованной версии программы это только миф.
Вот провел тестик Хотя занимаемую программой память я смотрел просто в XP (ctrl-alt-del\процессы) и тест возможно не отражает точные факты. Программа/Упакованная версия/неупакованная версия Несложный проект /2952 / 2920 Только форма без vcl /1940/1900 т.е. разница все же есть но не существенная. p.s.упаковывал Aspackом |
|||
|
||||
| -=::BlackCat::=- |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? Репутация: 1 Всего: 6 |
что ты под этим подразумеваешь???? -------------------- -=::BlackCat::=- такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
||||
|
|||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Вот, прочитай эту статью, и не терзай себя по напрасну http://russian.joelonsoftware.com/Articles...gyLetterIV.html
Но проги желательно сжимать http://www.pegas.mylawsite.net/soft/utils.htm -------------------- |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
Делай выбор между производительностью и объемом программы. Побольше пользуйся API, по меньше используй картинки вставленные в программу, не включай инфоверсию и не забывай про оптимизацию кода при завершении проекта.
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| -=::BlackCat::=- |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? Репутация: 1 Всего: 6 |
по второй сылке фигня какая-то открывается
-------------------- -=::BlackCat::=- такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Не могли бы Вы обяснить поподробнее, что Вы подразумеваете под словом "фигня"? -------------------- |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
???? -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| -=::BlackCat::=- |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? Репутация: 1 Всего: 6 |
-------------------- -=::BlackCat::=- такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Pegas, хоть ж*пу рви, а не открывается -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| Enflout |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 22.5.2004 Репутация: нет Всего: 6 |
А у меня открывается
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А мне прокся говорит Ая-Яй
|
|||
|
||||
| Dr.Death |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 950 Регистрация: 15.7.2003 Где: Волгоград Репутация: нет Всего: 1 |
Если дело в размере, то я использую Aspack
-------------------- Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
То что уходив в публику я не пакую взломанными программами
-------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| YURIC |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 5.8.2003 Репутация: нет Всего: 1 |
||||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: 2 Всего: 11 |
WinApi rulez.
Если несколько прог, то можешь поставлять в месте с программой библитотеки -200-300 KB.[s] Исполняемые файлы, тогда весят очень мало. Если две - три проги - экономия на лицо. При поставке программы желательно использовать стандартный InstallShild (но не тот что поставляеться с 7 Delphi, там сжатия вообще почти нет, скорее наоборот). Он прекрасно знает слабые места Delphi и очень хорошо сжимает проги. -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: 2 Всего: 11 |
WinApi Rulez
-------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| FreeNUX |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 29.5.2004 Репутация: нет Всего: нет |
Легче просто большие проекты на С писать, ну и конечно использовать WinApi функции.
Это сообщение отредактировал(а) FreeNUX - 12.6.2004, 17:23 |
|||
|
||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Рулез, рулез, я согласен, да только пока вы напишите 1 прогу на WinApi, я напишу уже 10 средствами Delphi. В итоге вы напишите 1 маленькую программу, и получите за нее ну скажем 2000$, а я напишу 10 но больших, и продам по той же цене (итого 2000$x10 = 20 000$). Да WinAPi это круто, я согласен.... -------------------- |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
откуда такие данные? или имеется ввиду "набросать на форму" ? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Из личного опыта. Я имею ввиду чистый WinApi. Т.е. написать прогу используя только WinApi, и ничего более.
-------------------- |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
ну я в дельфи не силен
к примеру на апи CreateFile.... и так далее открываем файл ReadFile .... читаем в дельфи что будут коренные отличия? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Это с первого взгляду кажется, что отличий нет. А вот если стоит задача написать серьезное трехзвенное приложение, корпоративного уровня, которое будет работать с удаленной БД....
Я смотрю на этот вопрос с точки зрения написания больших и мощных информационных систем, а не ваяния различных утилиток. -------------------- |
|||
|
||||
| stab |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
если постараться то на VC++ можно свести размер пустого exe к 1.5 Кб, но это опять же писать на WinAPI
которая тут же увеличивает размер приложения на 40 Кб ... грустно з.ы. за офтоп ногами не бить... накипело Добавлено @ 21:59 ... использование любого класса +100 Кб -------------------- 6, 6, 6 - the number of the beast. |
||||||
|
|||||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
А по конкретнее? Никаких функций по управлению размерами я не нашел. Как отключить лишние модули?
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
А где я могу отключить лишние модули? В настройках ничего не нашел. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
Perchilla, на сколько я понял разговор про это: Project -> Options -> Packages, выставить галочку "Build with runtime packages".
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Хех
А я вообще не понимаю о чем разговор. Ну да проги не маленькие, но с нынешними средствами коммуникаций, размерами винтов, всяких флешек и т.д. По моему это уж совсем не принципиально и тем более не критично! Ну пожалуста, хотите маленькую прогу с большим гемороем? Берите АСМ и кропайте, берити Си и используйте только АПИ. Обсалютно согласен с пегасом:
Хотя и от АПИ отказываться целиком не вариант! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |