exe-шники в C++ Builder и Delphi

Форум для программистов

Сообщение Anthony Fox » Ср ноя 19, 2003 7:39 am

Я бы сказал очень сильно: ~30 Кб (C++ Builder) против ~600 Кб (Delphi). Не влияет ли это как-нибудь на то, что будет ли программа работать или нет на другом компьютере где нет C++ Builder'а? Изпользуется обычное GUI приложение в Delphi и C++ Builder. Замечал, если прогу кодить без объектов в Delphi, получается прога ~20 Кб. Неужели объекто-ориентированное программирование жрет столько места?
When the sun and moon are joined, the entrance to eternity is opened...
<a href='http://foxsite.hut1.ru' target='_blank'>http://www.foxsite.hut1.ru</a>
Anthony Fox
Капитан
 
Сообщений: 277
Зарегистрирован: Вс май 11, 2003 8:17 am
Откуда: Россия, Татарстан
Пункты репутации: 0

Сообщение Strateg » Ср ноя 19, 2003 7:57 am

Насколько я в курсе, билдер использует стандартные библиотеки, а дельфя зашивает целый модуль со всеми компанентами.
А вот как можно уменьшить размеры - я тоже не против послушать...
хм...!
Strateg
Полковник
 
Сообщений: 1016
Зарегистрирован: Пт май 24, 2002 7:26 am
Откуда: Краснодар
Пункты репутации: 0

Сообщение Scalder » Ср ноя 19, 2003 9:46 am

2Anthony Fox
а ещё если сделать его на Microsoft Visual C++ и применить некоторые опции компиляра я думаю он будет не более 5-10 кб <!--emo&:)-->Изображение<!--endemo-->
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Strateg » Ср ноя 19, 2003 10:46 am

2Scalder
Я имел в виду уменьшение размеров в Дельфях
хм...!
Strateg
Полковник
 
Сообщений: 1016
Зарегистрирован: Пт май 24, 2002 7:26 am
Откуда: Краснодар
Пункты репутации: 0

Сообщение Anthony Fox » Ср ноя 19, 2003 11:04 am

А еще если взять upx... (он пакует еще раза в три).
When the sun and moon are joined, the entrance to eternity is opened...
<a href='http://foxsite.hut1.ru' target='_blank'>http://www.foxsite.hut1.ru</a>
Anthony Fox
Капитан
 
Сообщений: 277
Зарегистрирован: Вс май 11, 2003 8:17 am
Откуда: Россия, Татарстан
Пункты репутации: 0

Сообщение Vitalik » Ср ноя 19, 2003 12:00 pm

2Anthony Fox
А у upx - это, типа, архиватор?
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение M?bius » Ср ноя 19, 2003 1:58 pm

2Vitalik
Это что-то типа архиватора для exe файлов уменьшает размер файла оставляя его полностью работоспособным
BuG, ну сделай пожалуйста отправку сообщений по Ctrl+Enter, страна тебя не забудет ;-)
<!--coloro:red--><span style="color:red"><!--/coloro-->The 'love speech':<!--colorc--></span><!--/colorc--> © Serenity
Mal: Love. You can learn all the math in the 'verse, but you take a boat into the air you don't love, she'll shake you off just as sure as the turning of worlds. Love keeps her in the air when she oughta fall down, tells you she's hurting 'fire she keens. Makes her a home.
M?bius
Полковник
 
Сообщений: 1265
Зарегистрирован: Сб мар 08, 2003 4:15 pm
Откуда: Labinsk, Krasnodarsky region
Пункты репутации: 0

Сообщение Vitalik » Ср ноя 19, 2003 2:22 pm

2M?bius
А не мог бы ты ссылочку дать? ПЛЗ!
<!--coloro:black--><span style="color:black"><!--/coloro-->Добро пожаловать на сайт по SynUniHighlighter: <a href="http://www.unihighlighter.com" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->www.unihighlighter.com<!--colorc--></span><!--/colorc--></a>

Совсем недавно открылся новый проект "<a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->Портал Снов<!--colorc--></span><!--/colorc--></a>"!
Огромная просьба поддержать его хотя бы своим присутствием. <a href="http://portalsnov.ru" target="_blank"><!--coloro:blue--><span style="color:blue"><!--/coloro-->portalsnov.ru<!--colorc--></span><!--/colorc--></a><!--colorc--></span><!--/colorc-->
Vitalik
Капитан
 
Сообщений: 233
Зарегистрирован: Пн окт 27, 2003 11:06 pm
Откуда: Украина, cейчас живу в Харькове (учусь), а вообще я из Крыма
Пункты репутации: 0

Сообщение M?bius » Ср ноя 19, 2003 3:17 pm

Я брал <a href='http://iont.virtualave.net/pub/upxshell/upxshellsetup.exe' target='_blank'>отсюда</a>
BuG, ну сделай пожалуйста отправку сообщений по Ctrl+Enter, страна тебя не забудет ;-)
<!--coloro:red--><span style="color:red"><!--/coloro-->The 'love speech':<!--colorc--></span><!--/colorc--> © Serenity
Mal: Love. You can learn all the math in the 'verse, but you take a boat into the air you don't love, she'll shake you off just as sure as the turning of worlds. Love keeps her in the air when she oughta fall down, tells you she's hurting 'fire she keens. Makes her a home.
M?bius
Полковник
 
Сообщений: 1265
Зарегистрирован: Сб мар 08, 2003 4:15 pm
Откуда: Labinsk, Krasnodarsky region
Пункты репутации: 0

Сообщение Ciber SLasH » Ср ноя 26, 2003 8:46 pm

<!--QuoteBegin--"Anthony Fox"+--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE ("Anthony Fox")</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->~30 Кб (C++ Builder) против ~600 Кб (Delphi)<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Это чё-то не то. Если с Delphi весь код переписать на C++ Builder (при этом сделать аналогичные формы) то он не будет отличаться по размеру. Т.к. C++ Builder - это практически зеркало Delphi на языке C.
<!--QuoteBegin--"Anthony Fox"+--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE ("Anthony Fox")</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Неужели объекто-ориентированное программирование жрет столько места?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Ещё как <!--emo&:o-->Изображение<!--endemo--> Выход: использовать только WinAPI или использовать KOL/MCK (это гораздо легче).
<!--QuoteBegin--"Scalder"+--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE ("Scalder")</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->а ещё если сделать его на Microsoft Visual C++ и применить некоторые опции компиляра я думаю он будет не более 5-10 кб<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Ты ошибаешся. Если в VC++ использовать ООП, то прога по размеру не уменьшится. А чтоб уменьшить размер, не важно на каком языке - использую только WinAPI.
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение dAnIK SeNT » Ср ноя 26, 2003 10:55 pm

2Ciber SLasH
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->то чё-то не то. Если с Delphi весь код переписать на C++ Builder (при этом сделать аналогичные формы) то он не будет отличаться по размеру.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Гы <!--emo&:)-->Изображение<!--endemo-->. Прога сделанная C++ Bulder'ом с дефолтными настройками будет действительно очень маленькая. Только вот того, кто ее попробует запустить на компе, где билдер не установлен - ждет неприятный сюрприз <!--emo&;)-->Изображение<!--endemo-->.
Билдер - действительно зеркало Дельфи. Но разница в дефолтных настройках. Прога, скомпиленная в Дельфи по дефолту включает все необходимые библиотеки в исполняемом файле, а в билдере - грузит из внешних файлов (м.б. может и мелкософтовские библиотеки использовать, тогда на конечном компе необязательно должен быть билдер).

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Если в VC++ использовать ООП, то прога по размеру не уменьшится.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Уменьшится. Но хитрожопым путем. Она будет занимать 5-10 кб, но будет грузить стандартные библиотеки MSVC размером в несколько метров... Но конечному юзеру это не видать, т.к. библиотеки эти валяются в system32 по дефолту.

В исполняемый файл включаются только используемые функции, а проги, скомпиленные с использованием станд. библиотек грузят эти самые монстрообразные многометровые библиотеки целиком. В результате - перерасход ресурсов, падение производительности. Это теоретически. Практически же - библиотека грузится лишь один раз - потом лишь увеличивается счетчик ссылок. И вероятность того, что библиотека классов уже будет загружена к моменту запуска вашей проги очень велика. особенно если речь идет о мелкософтовской библиотеке - слишком многие используют это нелепое творение <!--emo&:(-->Изображение<!--endemo-->.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Anthony Fox » Сб ноя 29, 2003 6:26 am

Тут в форуме есть еще одна тема посвященная тому же, что и мы сейчас обсуждаем, так вот там кто-то сказал, что Нужно убрать галочку в Project -> Options -> Packages -> Build with runtime packages, тогда размер файла увеличивается, и в C++ Builder и в Delphi становится примерно одинаковым. Но я еще хочу сказать такую вещь, что если убрать Debug, то размер файла в Delphi уменьшается до ~15 Кб (галочка Build with runtime packages стоит). Так что на самом деле, разница в настройках C++ Builder и Delphi. Вывод такой, что программируйте на том, на чем хотите, от этого размер exe-файла не увеличится и не уменьшится. Разве что у C++ компилятор помощнее Pascal.
When the sun and moon are joined, the entrance to eternity is opened...
<a href='http://foxsite.hut1.ru' target='_blank'>http://www.foxsite.hut1.ru</a>
Anthony Fox
Капитан
 
Сообщений: 277
Зарегистрирован: Вс май 11, 2003 8:17 am
Откуда: Россия, Татарстан
Пункты репутации: 0

Сообщение dAnIK SeNT » Сб ноя 29, 2003 7:00 am

2Anthony Fox
В последних версиях не сказал бы что сильно мощнее. Пасцаль тоже на месте не стоит. С++ зато гораздо медленнее (из-за навороченного препроцессора). Впрочем, это уже отдельная тема.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Anthony Fox » Вс ноя 30, 2003 7:36 am

2dAnIK SeNT
То-то я смотрю, что все больше исходников на паскале появляется... <!--emo&:)-->Изображение<!--endemo--> Сам, если честно, Паскаль почти только полностью знаю, сишку далеко не полностью. Вообще, уважаю Паскаль за "понятность", а сишку за "краткость"... Приятно, что пасик там выдвинулся.
When the sun and moon are joined, the entrance to eternity is opened...
<a href='http://foxsite.hut1.ru' target='_blank'>http://www.foxsite.hut1.ru</a>
Anthony Fox
Капитан
 
Сообщений: 277
Зарегистрирован: Вс май 11, 2003 8:17 am
Откуда: Россия, Татарстан
Пункты репутации: 0

Сообщение Sh0Ck_filE » Пн июн 14, 2004 8:53 pm

ГЫ... занятно, что если присобачивать все визуальные компоненты например к дельфи и к визуалке - то размер программы последней будет существенно отличать ся в большую сторону. Однако, когда мы это добро сжимаем upx, то визуаловская прога сжимается сильнее, чем борландовая, и в итоге получаем файл куда меньший ;)
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

След.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron