Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.047 c
2-1159158672
vodvorezlaya
2006-09-25 08:31
2006.10.15
SQL и TTable


2-1159533557
KyRo
2006-09-29 16:39
2006.10.15
Открывается ли файл


3-1155295880
DelphiLexx
2006-08-11 15:31
2006.10.15
TFIBDataSet перемещение записи


11-1120242557
Владимир Кладов
2005-07-01 22:29
2006.10.15
Zoomer3


15-1159027855
alpha5
2006-09-23 20:10
2006.10.15
Не ставится компонент