Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.212.145] |
|
Сообщ.
#1
,
|
|
|
Вот тут очень неплохая библиотечка с реализацие LZMA.
https://github.com/ccy/delphi-zip нет ли где чего-то подобного но уже с LZMA2 ? |
Сообщ.
#2
,
|
|
|
Интерфейс к 7zip не подойдет?
|
Сообщ.
#3
,
|
|
|
Fr0sT
Для 7zip у меня есть, там правда всё через dll (что не особо круто), но если есть без dll то не откажусь. А так ищу чистый lzma2 ибо бьюсь за каждый байтик, а с размером заголовка архива 7z получается, что чистый lzma1 эффективней. |
Сообщ.
#4
,
|
|
|
А либа 7зип не умеет поток жать?
|
Сообщ.
#5
,
|
|
|
Цитата Jiro @ Для 7zip у меня есть, там правда всё через dll (что не особо круто), но если есть без dll то не откажусь. 7Zip SDK доступен в исходниках. Собери статическую либу вместо dll - в чём проблема? И LZMA2 там тоже есть кстати... |
Сообщ.
#6
,
|
|
|
Цитата cppasm @ Собери статическую либу вместо dll - в чём проблема? Это очень большая проблема в общем случае. Более-менее удается сделать только если либа на чистом С. Firebird, например, мне так и не удалось подконнектить |
Сообщ.
#7
,
|
|
|
Fr0sT либа из IP*works Zip, она только архив создаёт.
Цитата cppasm @ 7Zip SDK доступен в исходниках. Собери статическую либу вместо dll - в чём проблема? И LZMA2 там тоже есть кстати... Проблема в том чтоб интерфейс под делфи сделать. Наверное хоть чуток нужно знать C для этого. Fr0sT Ну вроде в 7z SDK есть и на чистом C реализация. |
Сообщ.
#8
,
|
|
|
Цитата Fr0sT @ Это очень большая проблема в общем случае. В чём проблема? На крайний случай написать интерфейс из extern "C" функций, вызывающих плюсоовые функции. Разницы на Си или С++ либа нету никакой (хотя 7Zip SDK вроди как раз на Си, сильно не вникал). То же самое и с Delphi - надо только правильное (используемое в Delphi) соглашение вызова указать. |
Сообщ.
#9
,
|
|
|
Цитата cppasm @ В чём проблема? Проблема в линковке. Дельфийский линкер сыпет ошибками о ненайденных сигнатурах. То есть я пытался прилинковать obj-и, которых в Firebird штук 30. Что такое "статическая либа", я не уверен - файл lib? Тогда его к Дельфям никак не присобачишь. Цитата Jiro @ Ну вроде в 7z SDK есть и на чистом C реализация. Интерфейс да, но если внутрях классы, то слинковать их не получится. У меня не вышло, по крайней мере. http://www.birtles.org.uk/programming/ - вот обертка для 7зипа под Паскаль Добавлено Кстати, есть еще одна опция - держать dll внутри экзешника и при надобности грузить ее из ресурса, не сохраняя в файл. |
Сообщ.
#10
,
|
|
|
Это порт на делфи 7zip SDK, увы старый и без lzma2. Цитата Fr0sT @ Кстати, есть еще одна опция - держать dll внутри экзешника и при надобности грузить ее из ресурса, не сохраняя в файл. А что есть dll где чисто компрессия lzma2 из буфера в буфер ? |
Сообщ.
#11
,
|
|
|
Цитата Jiro @ Это порт на делфи 7zip SDK, увы старый и без lzma2. Ну начать есть с чего, допилить под новую версию можно, h2pas и прочие тулзы в помощь. Цитата Jiro @ А что есть dll где чисто компрессия lzma2 из буфера в буфер ? В SDK наверняка есть поточное сжатие. Добавлено LZMA2 в SDK во многом основывается на LZMA, так что там совсем немного самому допилить. Жалко, что интерфейса к DLL нету - только исходники, но по идее там не особо что требуется. Функции compress(in_buf, out_buf) достаточно |
Сообщ.
#12
,
|
|
|
Jiro
Апну, тему! Как успехи? Я тоже ищу декодер LZMA2 может кто видел? |