CLS-фильтр (библиотека) для фриарка, предназначенный для распаковки precomp архивов параллельно распаковке lzma (в архивах со сжатием -mprecomp+lzma), что прилично увеличивает общую скорость распаковки на 2хядерных и более системах (где-то в 2 и более раза).
В папке pack находится пример батника и данных для упаковки в .arc архив. Упаковка стандартная - с последовательной обработкой precomp'ом и lzma.
В папке unpack находится пример для распаковки данных с помощью unarc.exe. lzma и precomp распаковываются параллельно без каких-либо промежуточных файлов.
В папке pack находится пример батника и данных для упаковки в .arc архив. Упаковка стандартная - с последовательной обработкой precomp'ом и lzma.
В папке unpack находится пример для распаковки данных с помощью unarc.exe. lzma и precomp распаковываются параллельно без каких-либо промежуточных файлов.
Для распаковки precomp архивов внутри алгоритма arc'а необходимы следующие файлы:
- CLS-precomp.dll - непосредственно сам cls-фильтр, его и остальные файлы необходимо класть рядом с unarc.exe (либо unarc.dll или isdone.dll).
- packjpg_dll.dll - подменная библиотека, которая патчит в памяти таблицу импорта precomp.exe, обеспецивая обмен информацией между процессами.
- packjpg_dll1.dll - оригинальная библиотека из комплекта precomp'а с добавленной единицей в имени. Если не требуется ее использование (jpg-потоков в архиве не было), то можно спокойно удалить ее, т.к. подменная библиотека при отсутсвии текущей эмулирует функции, передавая precomp'у необходимые данные. Но если в распаковываемом архиве precomp'а все таки были сжатые jpg потоки, то прекомп выдаст ошибку.
- precomp.exe - в данном примере - это оригинальный исполняемый модуль precomp v 0.4. Если необходима другая версия, то просто замените этот ехе'шник соответствующей версией (и не забудьте добавить zlib1.dll).