Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > winapi для сжатия данных


Автор: GoldFinch 22.5.2010, 19:45
ищу функции winapi для сжатия данных,
уже нашел RtlCompressBuffer, хочу чтонить с лучшим сжатием

Автор: EvilsInterrupt 28.5.2010, 16:52
GoldFinch, А не лучше ли взять готовую библиотеку ? К примеру LZMA, APlib, LZO, других полно ?

Автор: GoldFinch 28.5.2010, 19:24
EvilsInterrupt, 
я не хочу раздувать размер программы, линкуя к ней либы (или таская с ней дллки)

Автор: Alca 28.5.2010, 19:39
Цитата

я не хочу

А прийдется

Автор: jonie 28.5.2010, 22:56
http://www.codeproject.com/KB/files/CABCompressExtract.aspx
http://msdn.microsoft.com/en-us/library/ms811406.aspx#bd_functdescr

еще можно порыть в сторону IE - сам-то он как-то страницы распаковывает

только зачем фих знает.. вроде код распаковки того же deflate не такой и большой..

Автор: EvilsInterrupt 29.5.2010, 00:37
GoldFinch, Если пишешь криптор, то можешь выдрать алго LZMA  на асме из любого пакера , рекомендую из RLPack 1.20.1f это что касается стаба пакованного файла,, а вот сжатие в самом крипторе можно потаскать обжуху, не так уж и много байт занимает!

Код

А прийдется

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


GoldFinch, 
Кстати, закачай исходники UPX , там внутри есть дока про "filter" , там описние процесса фильтрации. Это своего рода препроцессор перед сжатием, улучшает коэффицент сжатия. Основан на том что в файлах очень много E8, E9, FF15 связанных с вызовом АПИ и бывает нескоко вызовов ведут в одну и туже точку, отсюда и эффект улучшения ;)

Автор: GoldFinch 29.5.2010, 10:22
EvilsInterrupt, мне данные а не код жать =)
но всетаки наверное посмотрю в сторону либ

Indy еще предлагал юзать winrar который у 100% юзеров в рунете стоит =)

Автор: 12usver12 29.5.2010, 12:01
Цитата

еще можно порыть в сторону IE - сам-то он как-то страницы распаковывает

вроде в urlmon.dll есть функи которые использует IE для работы gzip 

Автор: EvilsInterrupt 29.5.2010, 19:22
GoldFinch, У меня нету winrar ((( как-то плагинами к тоталу подключил и непарюсь )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)