Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL Её размер, Почему так много 
V
    Опции темы
ivan219
  Дата 26.9.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Вот код маей DLL
Код

library ProFunDll;
function ArcCosFcA(F,A:Real):Real; stdcall;
begin
 Result:=A+F;
end;
exports ArcCosFcA;
end.

Весит 16Кба почему так много ведь есть DLL с ещё болшей начинкой а весять почти ну или чють болше чем мая.

Вчём причина smile 

Это сообщение отредактировал(а) ivan219 - 26.9.2006, 21:05
PM MAIL ICQ   Вверх
jack128
Дата 26.9.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 18.5.2005

Репутация: 2
Всего: 4



а что напрягает? Лишнии 10кб на винте жалко??
PM MAIL   Вверх
ivan219
Дата 26.9.2006, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Ну если мне просто интересно что это уже проблема smile 
PM MAIL ICQ   Вверх
Sartorius
Дата 26.9.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Собери релиз smile 
PM MAIL ICQ   Вверх
Snowy
Дата 26.9.2006, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Sartorius @  26.9.2006,  21:42 Найти цитируемый пост)
Собери релиз
Это не C++.
Код дельфи - всегда релиз.
Уменьшить можно. А надо?
PM MAIL   Вверх
Sartorius
Дата 26.9.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Цитата

 Код дельфи - всегда релиз.


Вроде же можно убрать отладочную информацию.... Я об этом... Что-то такое : {$D-}

PM MAIL ICQ   Вверх
RA
Дата 26.9.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Два варианта уменшить и безтого малый размер:

1. замена системных юнитов на коловские -> http://bonanzas.rinet.ru/e_downloads.htm
2. компиляция из под D4
PM   Вверх
Romikgy
Дата 26.9.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(RA @  26.9.2006,  21:45 Найти цитируемый пост)
компиляция из под D4

имхо лучше 3


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 26.9.2006, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(RA @  26.9.2006,  22:45 Найти цитируемый пост)
компиляция из под D4
Это только увеличит размер.
С ростом версии до 7-ки размер ехе уменьшается.
Разумеется я не имею в виду VCL - VCL только растёт.
Речь про невисиэльную dll.

Добавлено @ 22:53 
Цитата(Sartorius @  26.9.2006,  22:40 Найти цитируемый пост)
Вроде же можно убрать отладочную информацию.... Я об этом... Что-то такое : {$D-}
Не играет существенной роли.

Добавлено @ 22:56 
Цитата(RA @  26.9.2006,  22:45 Найти цитируемый пост)
замена системных юнитов на коловские
А вот это да. Размер резко вниз идёт.
Только компилить нужно из коммандной строки.
Такде обработать striprelock и отрезать ресурсы RCDATA.
Кило 6-7 в итоге получится. Меньше 5 кило эти способы не датут.
Меньше - только совсем радикальные - то, что я приводил в примере написания HelloWorld в 977 байт.
PM MAIL   Вверх
ivan219
Дата 26.9.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Так уменя там вобще никаких uses нет всё что было я выложил.

Вот что мая библиотека импортирует:
Код

KERNEL32.DLL
USER32.DLL
ADVAPI32.DLL


Добавлено @ 23:06 
Маленько про абгрэйдил Delphi скачал обновление и +1Кб smile 
Код

library ProFunDll;
end.

Вес 16,5 Кб  smile что в этом коде может весить так много smile 

Да и сама Delphi поправилась теперь простое окно весит 400Кб раньше было 365Кб и чего туда такого нужного прибавили smile

Добавлено @ 23:12 
Може можно эти библиотеки удалить smile а то они 32 функции импортируют в никуда smile 
Код

KERNEL32.DLL
USER32.DLL
ADVAPI32.DLL

Код

library ProFunDll;
end.


Это сообщение отредактировал(а) ivan219 - 26.9.2006, 23:09
PM MAIL ICQ   Вверх
Snowy
Дата 26.9.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Вот готовый комплект.
6 кило с использованием KOL dcu's.
Компилить из коммандной строки
dcc32 ProFunDll.dpr

Добавлено @ 23:16 
импортрует только kernel

Добавлено @ 23:17 
kernel удалить низя - без него ни одна программа не работает.
А, если и работает, то глючит при выходе.

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  ProFun.zip 68,76 Kb
PM MAIL   Вверх
ivan219
Дата 26.9.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Snowy, твоя библиотека импортирует 16 функций smile спасибо буду пробовать из командной строки.

Добавлено @ 23:26 
После некоторого подсчёта получается что код:
Код

library ProFunDll;
function ArcCosFcA(F,A:Real):Real; stdcall;
begin
 Result:=A+F;
end;
exports ArcCosFcA;
end.

Болше чем:
Код

library ProFunDll;
end.

Всего на 512Байт smile 
PM MAIL ICQ   Вверх
Snowy
Дата 26.9.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(ivan219 @  26.9.2006,  23:19 Найти цитируемый пост)
 твоя библиотека импортирует 16 функций 
А что делать - необходимые функции dll + менеджер памяти.

Цитата(ivan219 @  26.9.2006,  23:19 Найти цитируемый пост)
Всего на 512Байт
Просто результат компиляции в дельфи всегда кратен 512.
Даже, если результат на 1 байт больше, допишутся ещё 511 нулей.
Я не знаю, какая в этом необходимость, но в борланд сделали именно так.

Добавлено @ 23:45 
Ты можешь дописать ещё 20 аналогичных строк - результат не изменится.
ехе будет того же размера.
PM MAIL   Вверх
jack128
Дата 27.9.2006, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 18.5.2005

Репутация: 2
Всего: 4



ivan219, смотри на System.pas и SysInit.pas. Вот всё это барахло и занимает 16 или сколько там кило.
PM MAIL   Вверх
RA
Дата 27.9.2006, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Цитата(Snowy @  26.9.2006,  22:51 Найти цитируемый пост)
Это только увеличит размер.
С ростом версии до 7-ки размер ехе уменьшается.
Разумеется я не имею в виду VCL - VCL только растёт.
Речь про невисиэльную dll.


Я кокраз имею ввиду не невисиэльную dll, без vcl.
Блин лично проверял, чем меньше D тем меньше вес. Особенно касается это D4.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1303 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.