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

Вниз

уменьшение размера exe   Найти похожие ветки 

 
Delphist2   (2010-03-22 12:37) [0]

Для версий 2006 и старше дают такой совет:

{$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or
 IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED or
 IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

Что я здесь сделал?

   * IMAGE_FILE_RELOCS_STRIPPED - отрезал релоки
   * IMAGE_FILE_DEBUG_STRIPPED - Выбросил из ехе Debug информацию
   * IMAGE_FILE_LINE_NUMS_STRIPPED - Выбросил из exe информацию о номерах строк
   * IMAGE_FILE_LOCAL_SYMS_STRIPPED - Выбросил local symbols
   * IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP - При запуске exe с компакта, флэшки, других извлекаемых устройств, считать exe в свап и запустить оттуда. Полезно, если нужно запустить программу с компакта, а потом попросить вставить другой...
   * IMAGE_FILE_NET_RUN_FROM_SWAP - аналогично предыдущей, только для сетевых дисков

Как сделать это для D7? Есть ли в D7 какие-то еще приемы для уменьшения exe?


 
Anatoly Podgoretsky ©   (2010-03-22 13:04) [1]

> Delphist2  (22.03.2010 12:37:00)  [0]

А цель/задача то какая, ведь уменьшение размера это не цель.


 
Delphist2   (2010-03-22 13:28) [2]

Ну почему же? Вполне себе цель.


 
oldman ©   (2010-03-22 13:31) [3]


> Ну почему же? Вполне себе цель.


Суперпуперпрограмма не влазивает на дискету?


 
Anatoly Podgoretsky ©   (2010-03-22 13:44) [4]

> Delphist2  (22.03.2010 13:28:02)  [2]

Это само цель.


 
Anatoly Podgoretsky ©   (2010-03-22 13:46) [5]


> Суперпуперпрограмма не влазивает на дискету?

А вот это уже цель, но решается иначе переходом на использование Интернет или CD дисков, в особо сложных случаях на DVD.


 
oldman ©   (2010-03-22 13:51) [6]


> Anatoly Podgoretsky ©   (22.03.10 13:46) [5]


Архиватор спасет отца русской демократии?


 
Сергей М. ©   (2010-03-22 14:19) [7]


> Есть ли в D7 какие-то еще приемы для уменьшения exe?


Там где ты взял этот "совет", приведена ссылка на утилиту StripRelocs.
Исх.код утилиты прилагается.
Пришпандорить это хозяйство к IDE средствами OpenTools API большого напряга извилин не требует)


 
Б   (2010-03-22 14:32) [8]


> А цель/задача то какая, ведь уменьшение размера это не цель.


1) Про demoscene вижу и не слышали.
  3D-Шутер - kkriger. 98 kb!
  http://www.theprodukkt.com/kkrieger
2) Лёгкие утилиты смотрятся симпотичнее.
3) Написание  вирусов. ;)

> Есть ли в D7 какие-то еще приемы для уменьшения exe?
1) Использовать KOL.
2) Вот так можно уменьшить exe-шник D7 до 524 byte!
http://xproger.mentalx.org/old/?id=1&page=0&doc=delphi_min


 
Б   (2010-03-22 14:42) [9]

> Delphist2   (22.03.10 12:37)  
> И на сколько уменьшился exe.? [0]

И на сколько уменьшился exe.?


 
Игорь Шевченко ©   (2010-03-22 14:48) [10]

Б   (22.03.10 14:32) [8]

Delphi - это средство быстрой разработки приложений, а не меряние размером.

Пиши на ассемблере, получишь небольшой размер, вплоть до 1-го байта (меньше никак).


 
Б   (2010-03-22 14:59) [11]

> Игорь Шевченко ©   (22.03.10 14:48) [10]

>
> Delphi - это средство быстрой разработки приложений, а не
> меряние размером.


Многие используют Дельфю и не для визуального программирования.
Delphi - пользуется популярностью для написания shareware-игр.
Из визуального там только программно созданное окно и всё.
Зачем тянуть туда увесистый VCL?

> Пиши на ассемблере, получишь небольшой размер, вплоть до 1-го байта (меньше никак).

Зачем такое извращение?
Достаточно, более-менее разумного уменьшения.
Время, потраченное на асмо-разработку не окупает получаемый размер.


 
sniknik ©   (2010-03-22 15:07) [12]

> вплоть до 1-го байта (меньше никак).
один нельзя, помню даже в dos команда выхода занимала 2 байта... вроде. а самый минимальный размер рабочей программы был 7 байт (вызывала перезагрузку)

> Время, потраченное на асмо-разработку не окупает получаемый размер.
время потраченное на дельфи-уменьшение-размера не окупает зарплату программиста...


 
Б   (2010-03-22 15:15) [13]


> sniknik ©   (22.03.10 15:07) [12]
> время потраченное на дельфи-уменьшение-размера не окупает
> зарплату программиста...


Мне хватило пару часов. ;)


 
Игорь Шевченко ©   (2010-03-22 15:20) [14]

sniknik ©   (22.03.10 15:07) [12]


> один нельзя


можно


 
Игорь Шевченко ©   (2010-03-22 15:22) [15]

Б   (22.03.10 14:59) [11]

А кто заставляет игру писать на VCL ? Ты в какое-то странное гестапо попал...


 
Б   (2010-03-22 15:31) [16]


> Игорь Шевченко ©   (22.03.10 15:22) [15]
> Б   (22.03.10 14:59) [11]
>
> А кто заставляет игру писать на VCL ?


А что тогда подразумевалось под
"Delphi - это средство быстрой разработки приложений," - VCL?
И под "а не меряние размером".


 
Б   (2010-03-22 15:33) [17]


> Б   (22.03.10 14:32) [8]


> уменьшить exe-шник D7 до 524 byte!

Как сделать eXe. в D7 ещё меньше, просьба поделиться.


 
Anatoly Podgoretsky ©   (2010-03-22 15:33) [18]

> Б  (22.03.2010 14:32:08)  [8]

Вот у тебя цели показаны

1. померяться
2. психологический шок
3. ну и про зловредов не забыли, хотя им уже давно размер до лампочки, чем больше, тем лучше, на большой файл никто не подумает.


 
Anatoly Podgoretsky ©   (2010-03-22 15:35) [19]

> sniknik  (22.03.2010 15:07:12)  [12]

Можно, единственная команда RET без параметров.


 
Anatoly Podgoretsky ©   (2010-03-22 15:36) [20]

> Игорь Шевченко  (22.03.2010 15:22:15)  [15]

Я же и говорю самоцель, психологическое извращение.


 
Б   (2010-03-22 15:43) [21]

1) demoscene - это искусство.
 2) Что не нравится?
 3) Не всегда.


 
Amoeba_   (2010-03-22 15:44) [22]


> Delphist2   (22.03.10 12:37)
>
> Для версий 2006 и старше дают такой совет:
>
> {$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED
> or
>  IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED
> or
>  IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
>
> Что я здесь сделал?
>
>    * IMAGE_FILE_RELOCS_STRIPPED - отрезал релоки
>    * IMAGE_FILE_DEBUG_STRIPPED - Выбросил из ехе Debug информацию
>    * IMAGE_FILE_LINE_NUMS_STRIPPED - Выбросил из exe информацию
> о номерах строк
>    * IMAGE_FILE_LOCAL_SYMS_STRIPPED - Выбросил local symbols
>    * IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP - При запуске exe
> с компакта, флэшки, других извлекаемых устройств, считать
> exe в свап и запустить оттуда. Полезно, если нужно запустить
> программу с компакта, а потом попросить вставить другой.
> ..
>    * IMAGE_FILE_NET_RUN_FROM_SWAP - аналогично предыдущей,
>  только для сетевых дисков
>
> Как сделать это для D7? Есть ли в D7 какие-то еще приемы
> для уменьшения exe?
>

Не включать отладочную информацию + http://www.jrsoftware.org/striprlc.php


 
Anatoly Podgoretsky ©   (2010-03-22 15:48) [23]


> Не включать отладочную информацию

А она там есть?


 
GDI+   (2010-03-22 15:49) [24]


> 2) Вот так можно уменьшить exe-шник D7 до 524 byte!
> http://xproger.mentalx.org/old/?id=1&page=0&doc=delphi_min


Мне не важно сколько занимает программа которая ничего не делает, она мне просто не нужна, как и вирусы.


 
GDI+   (2010-03-22 15:53) [25]


> Б   (22.03.10 14:59) [11]
>
> Многие используют Дельфю и не для визуального программирования.
> Delphi - пользуется популярностью для написания shareware-
> игр.
> Из визуального там только программно созданное окно и всё.
> Зачем тянуть туда увесистый VCL?


Не нужен VCL  пишите на С++. Даже с использованием stl размер релизного файла со статической линковкой библиотек около 300 Кб.


 
Б   (2010-03-22 15:56) [26]


> GDI+   (22.03.10 15:53) [25]
> Не нужен VCL  пишите на С++.


Прочитай лучше.
"Из визуального там только программно созданное окно и всё.
Зачем тянуть туда увесистый VCL?"

> Мне не важно сколько занимает программа которая ничего не делает, она > мне просто не нужна, как и вирусы.

Так сделай, чтобы что-то делала.


 
GDI+   (2010-03-22 16:18) [27]

> Так сделай, чтобы что-то делала.

для этого нужны сторонние библиотеки в которых всегда много мусора кроме того что нужно. Или вы предпочитаете все сами писать?


 
Б   (2010-03-22 16:22) [28]


> GDI+   (22.03.10 16:18) [27]


Это проблема библиотек.


 
sniknik ©   (2010-03-22 16:32) [29]

> Мне хватило пару часов. ;)
программа в 20 строк? тогда и этого много. а если будет на 50тыс строк (средняя прога по размеру в конторе), и больше?

Игорь Шевченко ©   (22.03.10 15:20) [14]
sniknik ©   (22.03.10 15:07) [12]
>> один нельзя
> можно
говорим про программу или просто файл?
так в программе даже nop (однобайтная команда) просто повесит комп (в doc так и было, сейчас в винде конечно не так,  всякие защиты сработают и снимут по ошибке). т.е., имхо, программой можно называть только то что хотя бы возвращает управление. т.е. для dos это 2 байта (+ если нужно параметр задавать, не помню тогда еще 2 минимум).
в общем не получится программы из 1 байта, как ни крути. и кстати это для *.com, т.е. уже отступление, а для exe с его заголовком и того не получится.


 
sniknik ©   (2010-03-22 16:34) [30]

> Можно, единственная команда RET без параметров.
она же двухбайтная, сама по себе.  (int 20 насколько помню) не?


 
Anatoly Podgoretsky ©   (2010-03-22 16:39) [31]

> GDI+  (22.03.2010 16:18:27)  [27]

Дельфи имеет все необходимое, что бы писать программы начиная от 16 кб. А для мазохистов есть КОЛ, тогда еще меньше, но сложнее.


 
Б   (2010-03-22 16:41) [32]


> sniknik ©   (22.03.10 16:32) [29]
> > Мне хватило пару часов. ;)
> программа в 20 строк? тогда и этого много. а если будет
> на 50тыс строк (средняя прога по размеру в конторе), и больше?
>


Я говорю про не визуальное программирование.
(С VCL размер проги особо не уменьшишь)


 
Игорь Шевченко ©   (2010-03-22 17:46) [33]

sniknik ©   (22.03.10 16:32) [29]


> говорим про программу или просто файл?


Говорим про исполняемый файл


> в общем не получится программы из 1 байта, как ни крути


Получится. Я же делал :)


 
KilkennyCat ©   (2010-03-22 17:46) [34]

гвозди можно забивать фотоаппаратом, но это экономически невыгодно.
Это я когда-то в детстве прочитал в "Науке и Жизни", осознал, и всегда помню, чего и другим желаю.
Для написания определенного софта есть определенные средства, все остальное - извращение. Если от скуки или ради любопытства - можно понять, в остальных случаях можно лишь посоветовать сходить к психиатру.


 
sniknik ©   (2010-03-22 19:42) [35]

> Получится. Я же делал :)
ну так покажи как.


 
boa_kaa ©   (2010-03-22 20:30) [36]

переиначивая бородатый анекдот:

Программы - это единственное, чем программисты хвастаются, что у них меньше


 
Правильный$Вася   (2010-03-22 20:34) [37]


> Программы - это единственное, чем программисты хвастаются,
>  что у них меньше

ну почему же? еще временем разработки


 
Игорь Шевченко ©   (2010-03-22 20:39) [38]


> ну так покажи как.


файл содержит один байт $C3
Естественно .com


 
сыф   (2010-03-22 21:11) [39]

у меня невизуалка на 15000 строк кода = 90 кб, не использую лишние модули. Визуалка дельфи тянет за собой сразу classes около 90 кб форм и тд довешивают до 200. Сам смотри, зачем уменьшать размер файла если только это не демосцен, хотя демосцен на дельфях врядли кто пишет.. хотя видел или это вирус, тс херь.


 
Andy BitOff ©   (2010-03-22 21:23) [40]

> Игорь Шевченко ©   (22.03.10 20:39) [38]
> файл содержит один байт $C3
> Естественно .com

Программа не запускается. Win7 ;)



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.055 c
2-1269197259
Fr
2010-03-21 21:47
2010.08.27
TRichEdit и SelStart


2-1265410299
Vladimir200000
2010-02-06 01:51
2010.08.27
запись массива в поток


15-1264596540
dars73
2010-01-27 15:49
2010.08.27
SQL Возможно ли?


15-1274351097
vlgrig1961
2010-05-20 14:24
2010.08.27
QReport печатает четные страницы???


11-1216809601
Dy1
2008-07-23 14:40
2010.08.27
утечки памяти. Помогите, пожалуйста