powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / размер DLL смущает, как уменьшить.
25 сообщений из 44, страница 1 из 2
размер DLL смущает, как уменьшить.
    #40059529
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ни когда не задавался вопросом о размерности DLL, но поступила задачка "...", сделал пустой DLL, еще не начала закидывать функционал, посмотрел на размер файла DLL - 11 Мб. ужаснулся.
отключил всю информацию о дебаггерах

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
{$IFNDEF DEBUG}
  {$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED} // Удаление из exe таблицы релокаций.
  {$SetPEFlags IMAGE_FILE_DEBUG_STRIPPED} //  Удаление из ехе Debug информации
  {$SetPEFlags IMAGE_FILE_LINE_NUMS_STRIPPED} // Удаление из exe информации о номерах строк
  {$SetPEFlags IMAGE_FILE_LOCAL_SYMS_STRIPPED} // Удаление local symbols
  {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP} //При запуске exe с компакта, флэшки, других извлекаемых устройств, считать exe в свап и запустить оттуда. Полезно, если нужно запустить программу с компакта, а потом попросить вставить другой...
  {$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP} // Аналогично предыдущей, только для сетевых дисков
  {$SetPEFlags IMAGE_FILE_EXECUTABLE_IMAGE}
{$ENDIF}



может не правильно, так как размер остался тот же.

Как максимально уменьшить размер DLL?
P.S.
(XE Berlin)
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059533
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63Как максимально уменьшить размер DLL?

Поставить галочку "Build With Run-Time Packages".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059545
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63,

Пустая dll в берлине весит чуть меньше мегабайта. Если отключить system.classes - 136KB, если отключить ещё и System.SysUtils - 45KB.
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059547
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

yemets63Как максимально уменьшить размер DLL?

Поставить галочку "Build With Run-Time Packages".
худший совет, который можно только дать
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059549
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer и писатели на C# одобряют.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059560
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не все ключи показал в тексте, но там кажись прбовал Build With Run-Time Packages, когда перебирал разные варианты

попробую из интерфейса

я так прикинул, что мне особо не должно быть важно Build With Run-Time Packages, но нужно посмотреть по результатам. пока не могу сказать получиться или не получиться плохо или хорошо отключить эту опцию. покажет время

спасибо. пробую
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059566
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63
сделал пустой DLL,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
library TestDLL;

uses
  System.SysUtils,
  System.Classes;

{$R *.res}

end.


yemets63
посмотрел на размер файла DLL - 11 Мб.
Код: powershell
1.
dir *.dll /s

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 Содержимое папки D:\Sources\Temp\TestDLL\Win32\Debug

04.04.2021  15:18         4 937 719 TestDLL.dll
               1 файлов      4 937 719 байт

 Содержимое папки D:\Sources\Temp\TestDLL\Win32\Release

04.04.2021  15:19           996 352 TestDLL.dll
               1 файлов        996 352 байт

     Всего файлов:
               2 файлов      5 934 071 байт
               0 папок  214 498 402 304 байт свободно
Кто-то чего-то недоговаривает.

P.S. Delphi 10.3.1
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059569
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yemets63>ни когда не задавался вопросом о размерности DLL
Никогда, о размере.
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059578
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Пустая dll в берлине весит чуть меньше мегабайта. Если отключить system.classes - 136KB, если отключить ещё и System.SysUtils - 45KB.
У некоторых "пустая" обозначает "с пустой формой"
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059581
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

Даже в этом случае она весит 2Mb. Хотя, если собрать в дебаге то 11Mb. То есть, про PEFlags слышали, а про режимы сборки нет? Э-э-х...
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059591
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большая часть из 11 Мб - это отладочная информация TD32 и к флагам PE-файла она отношения не имеет. В настройках проекта можно включить галку "Place debug information in separate TDS file" (Project > Options > Delphi Compiler > Linking).
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059633
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmoker,

да там всё равно много хлама остаётся, один RTTI что стоит

с пакетами тоже не особо меньше

RTL в дельфях явно не в приоритете у разрабов, костыляют лишь бы работало, у него хроническая альфа-версия
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059650
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
GunSmoker,
да там всё равно много хлама остаётся, один RTTI что стоит
с пакетами тоже не особо меньше

Я бы сказал, что у софта на Дельфях стабильное плато 1 Мб..5 Мб. Даже простые бинарники в него попадают - впрочем, как и навороченные. Превысить размер трудновато, но и добиться более-менее полезной программы меньшего размера тоже непросто. У меня тоже был период минимизации всего и вся, реализовывал заново нужные куски из Sysutils (который добавляет 150 кило), потом как-то остыл. На фоне дистрибов Электрона весом под 200 мегов все эти минимизации смешны))
Мешает, что RTL сама поощряет распухание. Элементарный BinToHex, например, лежит в Classes, который нагружен совершенно разной требухой. Что мешало вынести базовый, почти что абстрактный TStream в SysUtils или System? Он бы не помешал, зато сколько реализаций могло бы избавиться от Classes.
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059677
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
На фоне дистрибов Электрона весом под 200 мегов все эти минимизации смешны))
+
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059733
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Что мешало вынести базовый, почти что абстрактный TStream в SysUtils или System? Он бы не помешал, зато сколько реализаций могло бы избавиться от Classes.

Бесит, что достаточно написать в коде Variant или OleVariant - тут же неявно линкуется Variants, а он тянет SysUtils... Получается даже API-шный ActiveX безопасно не подключить. Раньше такой фигни не было :(...
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059738
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal, asutp2
на электроне никто не пишет системные dll-ки, если например сравнить с dll-ками расширений для php или питона, то уже не так смешно

а если копнуть глубже, то и советы с bpl не смешны становятся
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059750
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),
bpl можно свой создать со своим блекджеком и женщинами легкого поведения.
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059756
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

можно, но в любом случае огребёшь по полной, переделка system.pas и обработка исключений вещи довольно нетривиальные
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059759
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
можно, но в любом случае огребёшь по полной, переделка system.pas и обработка исключений вещи довольно нетривиальные

А зачем переделывать System.pas?
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059834
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.04.2021 10:32, Fr0sT-Brutal пишет:
> На фоне дистрибов Электрона весом под 200 мегов все эти минимизации смешны))

я надысь ставил TuneIn (радио) на ВедроидТВ.
460 МБ!
радио!

MXplayer занимает 96 МБ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059845
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Rusov
Бесит, что достаточно написать в коде Variant или OleVariant - тут же неявно линкуется Variants, а он тянет SysUtils... Получается даже API-шный ActiveX безопасно не подключить. Раньше такой фигни не было :(...

Вроде всегда так было, по крайней мере с Variants. Там же куча конвертаций, которые в SysUtils. На самом деле, избавляться от SysUtils практически никогда не стоит свеч - там куча полезностей, а вес от силы 200 кб добавляется (и то, значительная часть его - таблица юникод кодпоинтов). Можно, конечно, какой-нибудь KOL подключить...
kealon(Ruslan)
Fr0sT-Brutal, asutp2
на электроне никто не пишет системные dll-ки, если например сравнить с dll-ками расширений для php или питона, то уже не так смешно

а если копнуть глубже, то и советы с bpl не смешны становятся

На дельфе тоже никто не пишет системные dll-ки :(
Опять же, если избежать компонентов и классов, то в 500 Кб можно уложить приличной полезности либу. Но вот чуть только понадобится stringlist или stream - еще 500 как с куста. Тем не менее, даже такой рост не столь уж критичен (по мне).

Мимопроходящий

05.04.2021 10:32, Fr0sT-Brutal пишет:
> На фоне дистрибов Электрона весом под 200 мегов все эти минимизации смешны))

я надысь ставил TuneIn (радио) на ВедроидТВ.
460 МБ!
радио!

MXplayer занимает 96 МБ.

Кошмар какой... Может, это кеш? В гугломаркете обещает 14,89 Мб
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059858
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
На дельфе тоже никто не пишет системные dll-ки :(
Опять же, если избежать компонентов и классов, то в 500 Кб можно уложить приличной полезности либу. Но вот чуть только понадобится stringlist или stream - еще 500 как с куста. Тем не менее, даже такой рост не столь уж критичен (по мне).
пишут...
"просто подцепить SysUtils" на новых дельфях это сразу больше мегабайта

Maxim Rusov
kealon(Ruslan)
можно, но в любом случае огребёшь по полной, переделка system.pas и обработка исключений вещи довольно нетривиальные

А зачем переделывать System.pas?
убирают оттуда всякие циклические зависимости, что бы линкёр посрезал неиспользуемое
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059864
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
убирают оттуда всякие циклические зависимости, что бы линкёр посрезал неиспользуемое

Речь шла о создании свой System.bpl. Чтобы это сделать - переделывать System.pas не нужно.
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059865
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Вроде всегда так было, по крайней мере с Variants.

Раньше Variants вообще не было. При этом все конвертации вариантов работали...
...
Рейтинг: 0 / 0
размер DLL смущает, как уменьшить.
    #40059867
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
пишут...
"просто подцепить SysUtils" на новых дельфях это сразу больше мегабайта

Враньё. Релизные размеры сильно меньше.
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / размер DLL смущает, как уменьшить.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]