Четверг, 28.03.2024, 20:32 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » Обьем exe в XE3
Обьем exe в XE3
toorookДата: Воскресенье, 08.02.2015, 07:28 | Сообщение # 1
Был не раз
Зарегистрирован: 04.09.2014
Группа: Пользователи
Сообщений: 11
Статус: Offline
Всем Hi. Итак, до вчерашнего для работал в XE, все гуд. Сегодня поставил XE3, стал компилировать один и тот же код. Почему в XE мой exe весил 840kb, а в XE3 1,63mb ???
Я сильно разочарован... Может есть возможность сделать его меньше, без упаковщиков? Может где-то можно настроить это?


mr.toorook@jabber.ru

Сообщение отредактировал toorook - Воскресенье, 08.02.2015, 07:28
 
Волк-1024Дата: Воскресенье, 08.02.2015, 18:40 | Сообщение # 2
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Скомпилируй в Лазарусе, удивись. Будет ~15 метров ) Это просто компилятор килотонны говна вставляет, например, отладочную информацию. В настройках надо смотреть.

Pascal, C\C++, Assembler, Python
 
Anton93Дата: Воскресенье, 08.02.2015, 20:58 | Сообщение # 3
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
toorook, как вариант облегчить системные юниты) тема тут несколько раз эта поднималась. занятие достаточно затратное по времени, особенно если пустые юниты вообще юзать, узнаешь много нового) например работы со строками там нет) приходится описывать выделения памяти вручную. ну и прочие извращения.

ICQ: 41896
 
ms301Дата: Воскресенье, 08.02.2015, 21:00 | Сообщение # 4
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Цитата Волк-1024 ()
Скомпилируй в Лазарусе, удивись. Будет ~15 метров

В лазаре можно собрать Релиз версию - будет в 5-6 раз меньше весить.
Цитата toorook ()
Может есть возможность сделать его меньше, без упаковщиков?

Либо установи KOL/MCK либо один раз отправь клиенту пакеты BPL и потом собирай прогу без этих пакетов. В итоге вес будет очень малым
 
Волк-1024Дата: Воскресенье, 08.02.2015, 22:53 | Сообщение # 5
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
А вообще, хлопцы, чтобы не иметь проблем с размерами .exe - пишите на C и не знайте горя)

Pascal, C\C++, Assembler, Python
 
dolphinДата: Вторник, 10.02.2015, 09:26 | Сообщение # 6
Администратор
Сообщений: 906
Статус: Offline
Далеко не заходя с 750 кб до 24 применяя

Код
{$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}


и настройки




и статья
Прикрепления: 3679110.jpg (71.5 Kb) · 2377575.jpg (89.6 Kb) · 9406219.jpg (54.8 Kb)


Система: Windows 10 x64, Kali Linux
Среды программирования: Delphi 7, Delphi 10.x

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
ms301Дата: Вторник, 10.02.2015, 22:59 | Сообщение # 7
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Действия на первых двух скринах можно сделать двойным щелчком строке Release(в конфигурации сборки):


---
Кстати удаление релоков не очень то и сокращает размер программы...


Сообщение отредактировал ms301 - Среда, 11.02.2015, 22:58
 
toorookДата: Пятница, 13.02.2015, 07:00 | Сообщение # 8
Был не раз
Зарегистрирован: 04.09.2014
Группа: Пользователи
Сообщений: 11
Статус: Offline
Цитата
{$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}

Спасибо с этим директивами размер уменьшился на ~150kb
Я поставил обратно XE, снес к чертям XE3. Переписал некоторые процедуры на WinAPI. Ужал UPX, кстати без галки "носильное сжатие", выдавало ошибку. Ругался на try... exec.
Итого вес = 202kb. Устраивает)))
Всем спасибо!


mr.toorook@jabber.ru
 
tatsuДата: Воскресенье, 20.12.2015, 13:57 | Сообщение # 9
Частый гость
Зарегистрирован: 17.05.2009
Группа: Пользователи
Сообщений: 27
Статус: Offline
Этот код, скомпилированный в XE5 весит 6 мегабайт, а в 7 - 192 КБ. 192 КБ!!!! КАРЛ!!!!
Код
program Project1;
uses
SysUtils,
idirc;
var
irc1:TIdIrc;
begin
irc1:=TIdIrc.Create(nil);
irc1.Nick:='testNick';
irc1.Host:='*-*****';
irc1.Port:=6667;
sleep(20000);

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


Ибо маст дай!

Сообщение отредактировал tatsu - Воскресенье, 20.12.2015, 13:58
 
ms301Дата: Понедельник, 21.12.2015, 09:19 | Сообщение # 10
Постоянный
Зарегистрирован: 28.11.2012
Группа: Пользователи
Сообщений: 101
Статус: Offline
Цитата tatsu ()
Этот код, скомпилированный в XE5 весит 6 мегабайт, а в 7 - 192 КБ. 192 КБ!!!! КАРЛ!!!!

5.5 в режиме отладки. 1,3 в режиме релиза.

  • http://delfcode.ru/forum/29-1338-9219-16-1423598369
  • http://delfcode.ru/forum/29-1338-9217-16-1423549580
  • http://delfcode.ru/forum/29-1338-9213-16-1423418441
 
delphicode » Delphi » Вопросы по Delphi » Обьем exe в XE3
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz