Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

Минимальный размер программы   Найти похожие ветки 

 
ZiTrAX   (2006-09-24 21:46) [0]

Какой самый минимальный размер проги можно получить в Delphi7 (имеется ввиду пустая прога вида
  Programm r;
  begin
  end.
)?
И можно ли сделать так, чтобы компилятор не использывал по умолчанию модуль System (какая-то директива или что-нибудь в этом роде)?


 
Virgo_Style ©   (2006-09-24 21:49) [1]

0 байт, если не сохранять и не компилировать. Функциональность при этом ничуть не пострадает ;-)


 
ZiTrAX   (2006-09-24 22:02) [2]


> 0 байт, если не сохранять и не компилировать. Функциональность
> при этом ничуть не пострадает ;-)

Очень смешно lol.
Поставлю вопрос по другому:
можно ли на Delphi написать программу размером в 5кб, не используя exe-пакеры?


 
Весь в делах   (2006-09-24 22:05) [3]

нет


 
SergP ©   (2006-09-24 22:10) [4]

> можно ли на Delphi написать программу размером в 5кб, не
> используя exe-пакеры?


5кб наверное не получится, но 8 кб без сжатия получается без проблем.


 
Kolan ©   (2006-09-24 22:15) [5]

У Delphi  цель - не размер, а скорость разработки.


 
Gydvin ©   (2006-09-24 22:22) [6]


> но 8 кб без сжатия получается без пробле

У меня меньше 13,5 не получается


 
Ketmar ©   (2006-09-24 22:27) [7]

а зачем? возможно, конечно, но -- зачем?


 
SergP ©   (2006-09-24 22:33) [8]

> [7] Ketmar ©   (24.09.06 22:27)
> а зачем? возможно, конечно, но -- зачем?


Ну зачем - понятно...
Зачем лишнее пожирание места?

Я не говорю что цель получить 5 кб и т.п., но все же 400 кб для пустой формы - это многовато. К тому же если учесть то что не меняя скорости разработки:


> [5] Kolan ©   (24.09.06 22:15)
> У Delphi  цель - не размер, а скорость разработки.


можно ведь достичь значительного уменьшения размера (например KOL). Почему об этом Борланд не позаботился с самого начала?


 
Gydvin ©   (2006-09-24 22:33) [9]

автор вирь хочет имхо


 
SergP ©   (2006-09-24 22:47) [10]

> [6] Gydvin ©   (24.09.06 22:22)
>
> > но 8 кб без сжатия получается без пробле
>
> У меня меньше 13,5 не получается


D6

program Project2;

{$APPTYPE CONSOLE}

begin
 { TODO -oUser -cConsole Main : Insert code here }
end.



ровно 8 кб.


 
Ketmar ©   (2006-09-24 22:48) [11]

>[8] SergP(c) 24-Sep-2006, 22:33
>можно ведь достичь значительного уменьшения
>размера (например KOL). Почему об этом Борланд не
>позаботился с самого начала?
"например KOL" лично мне очень неудобен (при всём моём уважении к Владимиру). я уж лучше на чистом API тогда...
а Borland заботились в том числе об универсальности. 400 кил -- это мелочь, учитывая, что VCL способен управляться с огромными проектами.
надо маленькое -- есть альтернативы. тот же asm. или использовать пакеты.

>[9] Gydvin(c) 24-Sep-2006, 22:33
>автор вирь хочет имхо
вряд ли. в принципе, я вот хотел себе индикатор "оставшегося инета". сделал на VCL. ужаснулся, и переписал на API. %-)


 
SergP ©   (2006-09-24 22:52) [12]

> [11] Ketmar ©   (24.09.06 22:48)
> >[8] SergP(c) 24-Sep-2006, 22:33
> >можно ведь достичь значительного уменьшения
> >размера (например KOL). Почему об этом Борланд не
> >позаботился с самого начала?
> "например KOL" лично мне очень неудобен (при всём моём уважении
> к Владимиру). я уж лучше на чистом API тогда...
> а Borland заботились в том числе об универсальности. 400
> кил -- это мелочь, учитывая, что VCL способен управляться
> с огромными проектами.
> надо маленькое -- есть альтернативы. тот же asm. или использовать
> пакеты.


Я сам знаю что КОЛ неудобен. Но ИМХО это потому что Борланд о такой возможности первоначально не задумался. Если бы об этом подумали с самого начала и сделали, то ИМХО не было бы разницы в удобстве.


 
Ketmar ©   (2006-09-24 22:57) [13]

>[12] SergP(c) 24-Sep-2006, 22:52
>Если бы об этом подумали с самого
>начала и сделали, то ИМХО не было бы разницы в
>удобстве.
ну и как ты себе это видишь? что, по-твоему, надо менять? опиши, стало интересно.


 
SergP ©   (2006-09-24 23:12) [14]

> ну и как ты себе это видишь? что, по-твоему, надо менять?
> опиши, стало интересно.


Компилятор менять надо... Чтобы не включал в exe неиспользуемые куски кода.
Хотя ИМХО на данном этапе это несущественно. Существенно это было раньше, когда была нехватка ресурсов, и скорее всего будет в будущем по той же причине...


 
Ketmar ©   (2006-09-24 23:14) [15]

>[14] SergP(c) 24-Sep-2006, 23:12
>Компилятор менять надо... Чтобы не включал в exe
>неиспользуемые куски кода.
ты будешь смеяться -- но и так не включает.


 
Kolan ©   (2006-09-24 23:14) [16]

Как всегда разговор не о чем...


 
Ketmar ©   (2006-09-24 23:15) [17]

>[16] Kolan(c) 24-Sep-2006, 23:14
>Как всегда разговор не о чем...
ещё как о чём. автор спросил -- ему ответили, что можно. правда, не включать system никак не получится, но это уже частности.


 
Kolan ©   (2006-09-24 23:16) [18]


> ещё как о чём.

Каждый раз одно и тоже:

> но все же 400 кб для пустой формы - это многовато.


не нравится переходи на асм.


 
SergP ©   (2006-09-24 23:22) [19]

> [15] Ketmar ©   (24.09.06 23:14)
> >[14] SergP(c) 24-Sep-2006, 23:12
> >Компилятор менять надо... Чтобы не включал в exe
> >неиспользуемые куски кода.
> ты будешь смеяться -- но и так не включает.


я смеяться не буду.
Лучше приведу пример:
1.

program Project2;

{$APPTYPE CONSOLE}

begin
{ TODO -oUser -cConsole Main : Insert code here }
end.


2.

program Project2;

{$APPTYPE CONSOLE}
uses SysUtils;

begin
{ TODO -oUser -cConsole Main : Insert code here }
end.


Во втором коде из модуля SysUtils ничего не используется, тем не менее размер exe офигенно увеличился...


 
SergP ©   (2006-09-24 23:29) [20]

> [18] Kolan ©   (24.09.06 23:16)
>
> > ещё как о чём.
>
> Каждый раз одно и тоже:
>
> > но все же 400 кб для пустой формы - это многовато.
>
>
> не нравится переходи на асм.


Речь идет не о том нравится или нет... Нравится конечно, так как альтернативы нет. Просто хотелось бы сказать что считать что 400 кб для пустой формы - это дань удобству - неправильно, я не говорю о минимальных размерах которые можно было бы достичь в АСМе, но тем не менее с теми же удобствами можно было сделать чтобы размер exe был процентов на 70-80 меньше.


 
Ketmar ©   (2006-09-24 23:38) [21]

>[19] SergP(c) 24-Sep-2006, 23:22
>Во втором коде из модуля SysUtils ничего не
>используется
да? вот ведь... совсем-совсем ничего? а если подумать? а если посмотреть на секции initialization и finalization? что, по-прежнему "ничего"? иногда лучше сначала подумать и проверить, а потом писать.


 
Eraser ©   (2006-09-24 23:40) [22]

> [19] SergP ©   (24.09.06 23:22)

тем не менее, если убрать uses SysUtils; данная программа будет успешно работать, соответственно виноват не боланд, а кривые руки программиста, разработавшего данную программу.

> Я сам знаю что КОЛ неудобен. Но ИМХО это потому что Борланд
> о такой возможности первоначально не задумался. Если бы
> об этом подумали с самого начала и сделали, то ИМХО не было
> бы разницы в удобстве.

в борланде все сделали правильно. а для разработки программ, не трубющих, или почти не трубующих, UI - используйте либо консоль, либо WinAPI.

а проекты, написанные с пом. KOL и т.п. утилит обречены на провал по одной простой причине - их почти не возможно расширять, особенно человеку не знакомому с этими инструментами, да и на .net перевести проблемотично.

В общем, кому нужны маленькие exe - .NET в руки )


 
Ketmar ©   (2006-09-24 23:40) [23]

>[20] SergP(c) 24-Sep-2006, 23:29
>было бы достичь в АСМе, но тем не менее с теми же
>удобствами можно было сделать чтобы размер exe
>был процентов на 70-80 меньше.
да? покажи, как. а лучше -- напиши компилятор Object Pascal, который делает это лучше. и не надо говорить "долго", "сложно", "не умею". если "можно" -- то знаешь, как. если напишешь -- вполне можно будет продать. дерзай. сам куплю, если такое появится.


 
Ketmar ©   (2006-09-24 23:41) [24]

>[22] Eraser(c) 24-Sep-2006, 23:40
>В общем, кому нужны маленькие exe - .NET в руки )
зачем же? компиляция "с пакетами" даёт то же самое. только вот качать меньше, нежели в случае .NET framework. %-)


 
Германн ©   (2006-09-24 23:47) [25]


> но все же 400 кб для пустой формы - это многовато.

Дурь. Дельфи не предназначена для разработки "пустых" программ. А вот если программа большая по коду, тогда разница в размере не так уж сильно превышает указанные выше 400, зато время на её создание уйдёт не слишком много по сравнению с WinAPI-шной.


 
SergP ©   (2006-09-25 00:02) [26]

> да? вот ведь... совсем-совсем ничего? а если подумать? а
> если посмотреть на секции initialization и finalization?
> что, по-прежнему "ничего"? иногда лучше сначала подумать
> и проверить, а потом писать.


Ну вот... Вы сами сказали что включаются секции initialization и finalization. А зачем они мне нужны?

ну вот пример без initialization и finalization:

program Project2;

{$APPTYPE CONSOLE}

uses
 Unit1 in "Unit1.pas";

begin
a1;
 { TODO -oUser -cConsole Main : Insert code here }
end.

------------------------------------

unit Unit1;

interface
procedure a1;

implementation

procedure a1;
const
k: array[1..10] of string=("aaaaaaaaaaaaa","ssssssssss",
"aaaaaaaaaaaaa","ssssssssss","aaaaaaaaaaaaa","ssssssssss",
"aaaaaaaaaaaaa","ssssssssss","aaaaaaaaaaaaa","ssssssssss");
begin
//
end;

end.



независимо от того использую я или нет процедуру a1, размер exe 14 c мелочью кб вместо 8 для пустого проекта...


> да? покажи, как. а лучше -- напиши компилятор Object Pascal,
> который делает это лучше. и не надо говорить "долго", "сложно",
> "не умею". если "можно" -- то знаешь, как. если напишешь
> -- вполне можно будет продать. дерзай. сам куплю, если такое
> появится.


Как я понял - это у Вас самый главный аргумент. Типа если я не могу написать лучше, то мне нужно сидеть и не п... вобщем не рассуждать...


 
Anatoly Podgoretsky ©   (2006-09-25 00:08) [27]


> но все же 400 кб для пустой формы - это многовато.

Делай не пустую.


 
Германн ©   (2006-09-25 00:08) [28]


> ну вот пример без initialization и finalization:
>
> program Project2;
>
> {$APPTYPE CONSOLE}
>
> uses
>  Unit1 in "Unit1.pas";
>
> begin
> a1;
>  { TODO -oUser -cConsole Main : Insert code here }
> end.
>
> ------------------------------------
>
> unit Unit1;
>
> interface
> procedure a1;
>
> implementation
>
> procedure a1;
> const
> k: array[1..10] of string=("aaaaaaaaaaaaa","ssssssssss",
>
> "aaaaaaaaaaaaa","ssssssssss","aaaaaaaaaaaaa","ssssssssss",
>
> "aaaaaaaaaaaaa","ssssssssss","aaaaaaaaaaaaa","ssssssssss");
>
> begin
> //
> end;
>
> end.
>
>
>
> независимо от того использую я или нет процедуру a1, размер
> exe 14 c мелочью кб вместо 8 для пустого проекта...


Дурь (продолжение).


 
Vovan#1   (2006-09-25 00:13) [29]


program Small;

begin

end.


17 kb на Turbo Delphi.

Где хвалёное Палладином линкование?


 
Ketmar ©   (2006-09-25 00:13) [30]

>[26] SergP(c) 25-Sep-2006, 00:02
>Ну вот... Вы сами сказали что включаются секции
>initialization и finalization. А зачем они мне
>нужны?
не нужны -- не использовать SysUtils. если он используется -- значит, нужны. может, всё-таки, лучше жевать?

>Как я понял - это у Вас самый главный аргумент.
>Типа если я не могу написать лучше, то мне нужно
>сидеть и не п... вобщем не рассуждать...
нет. не самый главный. это аргумент только для тех, кто, пардон, ерунду городит.


 
Ketmar ©   (2006-09-25 00:14) [31]

>[29] Vovan#1 25-Sep-2006, 00:13
>17 kb на Turbo Delphi.
>Где хвалёное Палладином линкование?
советую заглянуть в Sys*.pas, и удивиться, сколько там кода включается. не нравится -- можно порезать эти модули. но лучше не надо.


 
SergP ©   (2006-09-25 00:14) [32]

> [25] Германн ©   (24.09.06 23:47)
>
> > но все же 400 кб для пустой формы - это многовато.
>
> Дурь. Дельфи не предназначена для разработки "пустых" программ.
> А вот если программа большая по коду, тогда разница в размере
> не так уж сильно превышает указанные выше 400, зато время
> на её создание уйдёт не слишком много по сравнению с WinAPI-
> шной.


Я не говорю о VCL vs WinAPI. Тут и так все понятно...

Как я понял, все здесь считают что невозможно было создать Delphi так чтобы она создавала exe более экономично без потери удобства?


 
Vovan#1   (2006-09-25 00:17) [33]

>советую заглянуть в Sys*.pas, и удивиться, сколько там кода включается. не нравится -- можно порезать эти модули. но лучше не надо.

Линкование где? Где смарт-технолоджис???


 
Германн ©   (2006-09-25 00:20) [34]


> Как я понял, все здесь считают что невозможно было создать
> Delphi так чтобы она создавала exe более экономично без
> потери удобства?
>

В обцем и целом - да.


 
Ketmar ©   (2006-09-25 00:22) [35]

>[33] Vovan#1 25-Sep-2006, 00:17
метла, метла. только она спасёт ОРД. купить в ближайшем хозмагазине, и занятся полезной деятельностью.


 
SergP ©   (2006-09-25 00:22) [36]

> не нужны -- не использовать SysUtils. если он используется
> -- значит, нужны. может, всё-таки, лучше жевать?


Ну допустим он мне нужен. Допустим я из него буду использовать какую-нить одну ф-цию или про-дуру, или даже тип который описан в этом модуле и для чего не требуются секции initialization и finalization. Т.е. модуль мне нужен, но из него я использую мелочь, а компилятор навключает мне в exe все что нужно и не нужно...


 
Ketmar ©   (2006-09-25 00:26) [37]

>[36] SergP(c) 25-Sep-2006, 00:22
>Ну допустим он мне нужен. Допустим я из него буду
>использовать какую-нить одну ф-цию или про-дуру,
достань и оформи отдельным модулем. ребята из борланда резонно предполагают, что если используешь -- то тебе нужен подобный сервис. не нужен -- достань всё, что надо.


 
SergP ©   (2006-09-25 00:29) [38]

> [34] Германн ©   (25.09.06 00:20)
>
> > Как я понял, все здесь считают что невозможно было создать
>
> > Delphi так чтобы она создавала exe более экономично без
>
> > потери удобства?
> >
>
> В обцем и целом - да.


Ну вот это то чего я хотел услышать. Следовательно мне здесь никого не переспорить (возможно даже что потому что я дурак и ничего не понимаю). Постараюсь воздержаться от ответов в этой ветке.


 
Ketmar ©   (2006-09-25 00:31) [39]

>[38] SergP(c) 25-Sep-2006, 00:29
>Ну вот это то чего я хотел услышать.
утверждение, что ты неправ? этого можно было проще добиться. и не тратить наше и своё время на разъяснения очевидного. %-)


 
Плохиш ©   (2006-09-25 00:38) [40]


> SergP ©   (25.09.06 00:14) [32]


> Как я понял, все здесь считают что невозможно было создать
> Delphi так чтобы она создавала exe более экономично без
> потери удобства?

Вообще-то, не считают, даже и не думают на эту тему, а работают, создают проекты. Только переодически прибегают всякие идиоты вырвавшиеся из детского сада. Не тебе с куриными мозгами обсуждать правильно ли создаёт продукты борланд или любая др. фирма. Или у тебя есть, что предъявить из созданного тобой?



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.202 c
1-1157703651
КУ
2006-09-08 12:20
2006.10.15
TTreeView и TPopupMenu


15-1159108905
Проггер из библиотеки
2006-09-24 18:41
2006.10.15
Информация о мониторе Samtron 76 BDF


2-1159451438
Fostr
2006-09-28 17:50
2006.10.15
Выполнение нескольких последовательных ADOSql


2-1159388288
KidMan
2006-09-28 00:18
2006.10.15
Как сделать, чтобы к письму прикреплялся файл


15-1159255048
Экспериментатор
2006-09-26 11:17
2006.10.15
Перемешались знаки препинания, звездочки кавычки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский