Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопрос об архивировании

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

CamTracer

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Yolffff
Ну тут спорить конечно сложно, ибо все зависит от кривизны рук программиста.
Ближайшее рассмотрение скачанного архива показывает, что в zlib реализована модификация алгоритма LZ77 (смотри файл algorithm.txt). А в самом коде каких-то особых изысков я не нашел.
Переделка кода, как показывает опыт, не быстрее, чем написание программы с нуля. Это все-таки не hello, world.
Ну и самый главный аргумент:

Цитата:
zlib пробовали уже.. почему то он не подошел, еще предлоджите плз

Вывод: лениво писать самому (ну или радиус кривизны рук очень маленький), переделай кого-нибудь (согласен, zlib - хорошая и полезная весчь..., не зря все-таки почти 10 лет разрабатывается. Можно её достаточно быстро переиначить - будет жать и папки и длинные имена).
Успехов.

Всего записей: 264 | Зарегистр. 07-07-2004 | Отправлено: 11:22 30-08-2004
TP09H

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А где найти хедэры для Cabinet.dll,т.е. описание экспорта с именами функций и параметрами(и конечно же,с описаниями каждой процедуры)?Желательно для синтаксиса Visual Basic(можно и на Delphi/C,но могут возникнуть проблемы конверсии типов,хотя Delphi я не раз неплохо переводил на Visual Basic).А то я пишу некое подобие Setup'ки,надо сжатие(т.к. файлы Setup'ки хранятся в ресурсах,то аппликуха с огромным файлом грузится оооооооооооочень долго(раз я создал Setup'ку с файлами ок. 74 Мб,так она у меня на AMD Sempron 1800MHz 512 RAM грузилась ок 30с,а у чувака с Celeron 750MHz 128 RAM раз в 50 дольше!).Хоть упаковщики exe-шников(коими я пользуюсь нередко,а точнее всегда-ОПТИМИЗАЦИЯ!!!) и сжимают это дело(правда,все Setup'ки от рождения сжаты) кое-как,но распаковка таких монстров-дело долгое(нахрена Microsoft® Windows™ грузит ВСЕ ресурсы сразу,а не подгружает их динамически???).Конечно,можно создать лаунчер под именем Setup.exe и,выводя сообщение типа "Загрузка,please wait",стартить истинный инсталлер,хранящийся,допустим,под именем Setup.dat с помощью CreateProcess,но это всё равно будет криво.Может,поможете???

Всего записей: 18 | Зарегистр. 19-09-2006 | Отправлено: 15:11 19-09-2006
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TP09H
Ну во первых все функции нашли достойное описание в MSDN
поищи функции которые начинаются на FCI
Раздел Win32 anc COM cabinet SDK API
И вот тебе сам SDK c microsoft download http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe

Всего записей: 560 | Зарегистр. 05-04-2006 | Отправлено: 16:22 19-09-2006
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
...А во-вторых, у тебя весьма поверхностное представление об оптимизации. Ты в курсе, например, что запакованная программка, когда её запускаешь, откушивает виртуальной памяти куда больше, чем незапакованная? Это ты на диске место сэкономишь, а в оперативной памяти потеряешь гораздо больше. Поэтому и такая разница во времени загрузки, наверное. И ИМХО не "Microsoft ® Windows™ грузит ВСЕ ресурсы сразу", а распаковщик. Конечно, могу и ошибаться, маловато данных ты дал, но то, что ты тут рассказываешь, очень похоже на описанные мною причины.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 19:23 19-09-2006
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TP09H

Цитата:
но распаковка таких монстров-дело долгое(нахрена Microsoft® Windows™ грузит ВСЕ ресурсы сразу,а не подгружает их динамически???
А как MS может что-либо подгрузить динамически(даже если и понадобится), если ты все запаковал? Система понятия не имеет что находится внутри. Вот ей и приходится все разархивировать сначала и все помещать в память по несколько раз.

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 05:26 20-09-2006
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TP09H
По поводку инсталяции зачем почемуне хранить отдельно файлы для инсталации отдельно допустим в setup.dat. Тогда запуск программы инстала будет очень быстрый, памяти кушать будет мало, и онаже будет из отдельного файла ресурсов распаковывать твои файлы и их инсталить.

Всего записей: 560 | Зарегистр. 05-04-2006 | Отправлено: 11:34 20-09-2006
TP09H

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
I have no russian lang on this comp because of the lame administrators in OGTU,so I'll speak English(sorry if my Eng is lame).Thanx to all who answers TP09H
-----------
RedPromo:thanx for recommendation,but I have INet 2 rarely and have less ability to move SDK from OGTU to my home.Download speed 2 small.I means that setup.dat will be EXE,and launcher will says smth. like "loading,plz wait" and run Setup.dat using CreateProcess(because separate Setup.dat will not be so economic,it's better to have all files in 1)
-----------
Qraizer:ok,I'm in course of the "memory eating" problem,but RAMemory isn't so important(for me),the most important problem is disk space.And what is IMHO?
-----------
dneprcomp:and if the Application wasn't packed,loading time isn't decreased

Всего записей: 18 | Зарегистр. 19-09-2006 | Отправлено: 13:09 20-09-2006
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Qraizer:ok,I'm in course of the "memory eating" problem,but RAMemory isn't so important(for me),the most important problem is disk space.
Than don't complain to the "AMD Sempron 1800MHz 512 RAM" vs "Celeron 750MHz 128 RAM" difference of load time. But also, once to download and many times to load into memory are two big differences.
Цитата:
And what is IMHO?
IMHO is "In My Humble Opinion" abbreviation - too widespread.
Цитата:
(sorry if my Eng is lame)
Analogously

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 14:54 20-09-2006 | Исправлено: Qraizer, 15:00 20-09-2006
TP09H

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
А распаковщик имеет понятие,но всё равно распаковывает ВСЁ!!!А может,в файле куча картинок по 1234Кб каждая,а показываются они не сразу после запуска,а,допустим,в About'е???ЗАЧЕМ!?!?!? грузить сразу все ресурсы
Qraizer
Thanx за объяснение ИМХи

Всего записей: 18 | Зарегистр. 19-09-2006 | Отправлено: 15:39 20-09-2006
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TP09H

Цитата:
А распаковщик имеет понятие,но всё равно распаковывает ВСЁ
Распаковщику до лампады все твои ресурсы. Он вообще такого слова не знает. Его дело распаковывать, а не умно определять что там понадобиться через пять минут, а что через час. И как ты себе представляешь выборочную распаковку только скрина "About" когда он понадобиться?
Цитата:
and if the Application wasn't packed,loading time isn't decreased
Прости, но не верится. Чем замерял? На глаз? Время долно уйти хотя бы на распаковку. Другое дело, что разница может быть неопределяема человеком.

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 02:24 21-09-2006
vipettut



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если юзаете Дельфи/Билдер, то рекоммендую www.componentace.com
 
На выбор несколько либ:
 
Easy Compression Library
ZipForge - zip-совместимые архивы
FlexCompress - не zip-совместимые, зато либо быстрый алгоритм либо суперсжатие
 
Для С++, VB есть Easy Compression Library ActiveX
 
Для .NET есть ZipForge.NET - zip-совместимые архивы
либо ZLib.NET - бесплатный порт zlib под dotNET

Всего записей: 680 | Зарегистр. 17-03-2006 | Отправлено: 09:29 21-09-2006
Looking



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZokbI4
А в чем такая проблема с размером, если все юзается под Windows на соответствующем железе?

Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 09:48 21-09-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
aPLib

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 00:08 29-09-2006
TP09H

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koderr
А чё ты мне дал?
 
Добавлено:
Кстати,где скачать Platform SDK и MSDN,а то мы на НеМакроСофте искали,там куча ссылок,но эти SDK нам не нужны,да и MSDN тоже непонятно как скачать

Всего записей: 18 | Зарегистр. 19-09-2006 | Отправлено: 13:48 04-10-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TP09H
Либа для компрессии.

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 17:47 10-10-2006
crotoff

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PAQ8 доступны исходники и размер небольшой

Всего записей: 966 | Зарегистр. 17-04-2007 | Отправлено: 10:31 18-04-2007
Ruslang



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZokbI4 почему такие жесткие ограничения к архиватору?
Тогда действительно лучше написать свой, учитывая, что вам дали кучу ссылок. Лично я рекомендую вам ZipForge.

Всего записей: 545 | Зарегистр. 14-04-2006 | Отправлено: 16:08 19-04-2007
Jest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имхо, халявных аналогов zlib не найти (качественных).

Цитата:
Тот же zlib в исходниках, выдираешь оттуда только то, что надо - и вперед.

Она под GPL ? придется код своего приложения публиковать.
Если делать в виде dll - не придется (только код dll в случае чего).

Всего записей: 109 | Зарегистр. 26-08-2004 | Отправлено: 20:07 19-04-2007
Kadavr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Лучшее что на сегодня есть - 7zip. GUI\Командная строка в наличии. Delphi обёртки для  работы с архивами [полноценными с поддержкой unicode-имён/папок и пр]. Все кодеки оформлены внешними dll и без проблем цепляются к любым программам [механизмы работы с потоками в наличии, т.е. нет привязки к файлам]. Внутренний формат LZMA на сегодня один из лучших [исп-ся в том же UPX]. GPL.

Всего записей: 177 | Зарегистр. 19-03-2004 | Отправлено: 13:08 03-05-2007 | Исправлено: Kadavr, 13:13 03-05-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопрос об архивировании


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru