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

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

Модерирует : gyra, Maz

Widok (23-11-2010 11:37): Лимит страниц. Продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

FreeArc
бесплатный open-source архиватор для Windows и Linux,
сочетающий высокую степень сжатия и большой набор возможностей


Официальный сайт | Скриншоты | Лента новостей
Документация на консольную версию | Документация на GUI версию
Сообщество пользователей FreeArc | Вики | Трекер (рассылка по ошибкам)
Проект на SourceForge.net | SVN-репозиторий | Поддержка InnoSetup
Обсуждение на encode.ru (англоязычное)

Скачать последний релиз - FreeArc 0.666 от 20 мая 2010 г. Что нового: ускорение работы в 1.5-2 раза благодаря новой технологии многопоточного сжатия, распаковка архивов многих форматов используя технологии 7-zip, запуск файлов из архива, исправлены все проблемы интеграции с Explorer (подробнее)
 
Текущая альфа версия: 0.67 - загрузка | список исправлений | блог

FAQ по FreeArc

Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну... | И немного о будущем...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип - объявляется конкурс на иконки для FreeArc

Сторонние оболочки для работы с FreeArc:
  • wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
  • PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux
     

    Родственные темы:
  • Inno Setup плюс внешние упаковщики - использование архивов FreeArc в инсталяторах
  • Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - "а как сжать ещё лучше?"
  • FreeArc и Unix - для альтернативно одарённых
     
    Другие архиваторы:
  • WinRAR
  • 7-zip

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 19:15 07-09-2009 | Исправлено: Bulat_Ziganshin, 18:34 26-07-2010
    Bulat_Ziganshin

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

    Цитата:
    Eric_Allman

    знаешь, как опенсорсный программист пишет программу? он создаёт проект на sourceforge и ждёт контрибьютеров  
     
    глядишь, общими усилиями и появится демо-проект для Delphi, аналогичный инносетаповскому. я бы не возражал если бы вы индикатор прогресса туда прикрутили. а я пока сишный сделаю, чтобы с багами во вчерашней dll разобраться..

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 12:24 29-08-2010
    Eric_Allman



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profrager
     
       
     
    Bulat_Ziganshin
     

    Цитата:
    я бы не возражал если бы вы индикатор прогресса туда прикрутили.

     
    Это я и собираюсь сделать.

    Всего записей: 14 | Зарегистр. 29-08-2010 | Отправлено: 12:29 29-08-2010 | Исправлено: Eric_Allman, 12:31 29-08-2010
    Profrager



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

    Цитата:
    глядишь, общими усилиями и появится демо-проект для Delphi, аналогичный инносетаповскому. я бы не возражал если бы вы индикатор прогресса туда прикрутили.

    дык вырезать код из ISDone для arc'а и добавить callback ф-ию вместо InnoSetup'вской свою, вот те и демо код на delphi) Тока нафига оно кому надо)
     
    Добавлено:
    Bulat_Ziganshin
    и кстати, этот код Eric_Allman'а норм распаковывает с твоей новой unarc.dll. А у меня почему-то слетает. Хотя с ранними dll работает без проблем. Как-то странно все это. Щас буду смотреть в чем траблы  

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 12:32 29-08-2010
    Bulat_Ziganshin

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

    Цитата:
    дык вырезать код из ISDone для arc'а и добавить callback ф-ию вместо InnoSetup'вской свою, вот те и демо код на delphi) Тока нафига оно кому надо)  

    проблема исключительно в том, что каждому придётся это делать заново
     

    Цитата:
     
    Цитата:
    я бы не возражал если бы вы индикатор прогресса туда прикрутили.
     
    Это я и собираюсь сделать.

    ну вот и опубликуешь здесь целый проект, а я его пихну в дистрибут

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 13:10 29-08-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    траблы с unarc.dll оказывается в том, что у меня с прямой ручной загрузкой в память оно не хочет работать, а если цеплять dll как обычно через LoadLibrary, то все пашет. Осталось найти в чем разница с предыдущими dll) А так, в общем-то работает)

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 13:14 29-08-2010
    Bulat_Ziganshin

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profrager
    т.е. от 23-го ещё работала?
     
    Добавлено:
    кстати, может проблемы с вызовом DllMain, я ведь её даже не экспортирую. в любом случае, мне не помешал бы exe-шник на котором можно проверить. либо ещё лучше я выложу исходники а ты сам проверь какие изменения привели к проблемам. ты компиляцию unarc.dll освоил?

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 13:17 29-08-2010
    Profrager



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

    Цитата:
    т.е. от 23-го ещё работала?

    В общем-то я использовал dll более старую - ты тогда выкладывал отдельно с введением более подробных ошибок. Но сейчас попробовал и от 23 августа - работает. Видимо все же все это из-за DllMain.

    Цитата:
    кстати, может проблемы с вызовом DllMain, я ведь её даже не экспортирую

    По идее DllMain должна быть в поле EntriPoint dll'ки. И необходимости в ее экспорте нет. В PE Editor'е посмотрел - EntriPoint в той же позиции, что и в предыдущих dll, и внутренности вроде похожие. Видимо инициализация dll у меня при загрузке вручную несколько некорректно сделана. Хотя все другие dllки норм грузятся.

    Цитата:
    мне не помешал бы exe-шник на котором можно проверить

    мне тоже)) Лень делать host-процесс к ISDone.dll) Запускаю все через Inno) и всякими MessageBox'ами в dllке определяю проблемное место.

    Цитата:
    либо ещё лучше я выложу исходники а ты сам проверь какие изменения привели к проблемам.

    было бы не плохо. Но только я сегодня на день варенья иду) Так что посмотреть только завтра к вечеру смогу.

    Цитата:
    ты компиляцию unarc.dll освоил?

    да компилял когда-то, осталось вспомнить) думаю с этим проблем не будет.
     
    Добавлено:
    фиг знает..все вроде как положено..

    Код:
     FUNCTION InitializeLibrary:BOOLEAN;
     BEGIN
      RESULT:=FALSE;
      @DLLProc:=ConvertPointer(ImageNTHeaders.OptionalHeader.AddressOfEntryPoint);
      IF DLLProc(CARDINAL(ImageBase),DLL_PROCESS_ATTACH,NIL) THEN BEGIN
       RESULT:=TRUE;
      END;
     END;

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 13:45 29-08-2010
    Bulat_Ziganshin

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

    Цитата:
    фиг знает..все вроде как положено..  

    а без неё нормально работает? или если CARDINAL(ImageBase) заменить на nil?
     
    может я полученный хендл неправильно использую, хотя сделал как ты сказал:
     
    HINSTANCE hinstUnarcDll = NULL;   // unarc.dll instance
     
    // Запомним хендл unarc.dll, необходимый нам для правильной загрузки других dll
    extern "C" BOOL WINAPI DllMain (HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved)
    {
      if (fdwReason == DLL_PROCESS_ATTACH)
        hinstUnarcDll = hinstDll;
      return TRUE;
    }
     
    ... GetModuleFileNameW (hinstUnarcDll, path, MY_FILENAME_MAX);

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 14:18 29-08-2010
    datato



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что делать, FreeArc не хочет разделять файл на тома. В FreeArc можно выставить настройку разделять на тома размером в: [и можно выбрать размер], но почему-то у меня это не работает, FreeArc лепит все в один кусок. Можно ли это как-то исправить, или прийдется жать каждый архив отедльно?

    Всего записей: 154 | Зарегистр. 16-07-2010 | Отправлено: 21:41 29-08-2010
    Bulat_Ziganshin

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

    Цитата:
    В FreeArc можно выставить настройку разделять на тома

    как?

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 21:43 29-08-2010
    datato



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

    Всего записей: 154 | Зарегистр. 16-07-2010 | Отправлено: 21:54 29-08-2010 | Исправлено: datato, 21:55 29-08-2010
    Bulat_Ziganshin

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    во-первых, переключи программу на русский. во-вторых, солид-блоки - это не тома, читай документацию

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 22:10 29-08-2010
    Profrager



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

    Цитата:
    а без неё нормально работает?

    гы)
     

     

    Цитата:
    или если CARDINAL(ImageBase) заменить на nil?

    А вот с "0" вместо CARDINAL(ImageBase) в DLLProc(CARDINAL(ImageBase),DLL_PROCESS_ATTACH,NIL) все распаковывается, но про facompress.dll можно забыть...оно не подцепляется, если рядом лежит.
     
    Добавлено:
    Почему же тогда вылет возникает в функции копирования юникодовской строки...Как-то оно все не стыкуется. Хендл dll'ки и копирование строк.
    Хотя....у меня же не настоящий хендл Он не зарегистрирован в системе Отсюда могут быть и косяки
     
    Добавлено:
    Надо че-то придумывать...или же ложить как все белые люди unarc.dll рядом с остальными dllками..

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 23:15 29-08-2010
    Bulat_Ziganshin

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

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 23:34 29-08-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    может спешл фо ми сделаешь экспортируемую ф-ю GetDllDir или GetCurrentDir? Чтобы по дефолту при инициализации dll вызывалось GetModuleFileNameW (null, path, MY_FILENAME_MAX), а если указать в GetCurrentDir свою директорию, то он потом ее использовал для загрузки facompress.dll? Хотя тогда для exe'шников (arc.exe, freearc.exe) надо что-то придумывать..у них то нет инициализации как у dll..
     
    Добавлено:
    млин, не Get.., а Set..

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 23:47 29-08-2010 | Исправлено: Profrager, 00:28 30-08-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    видимо вчера я был не особо трезв Ерунду какую-то писал) Не над ничего добавлять или менять.. я просто хендл своей дллки буду передавать в unarc.dll и все должно быть нормально).
    Попробовал так..распаковывается, но facompress.dll опять не хочет цепляться Хотя если unarc.dll загружать стандартным сособом через LoadLibrary все отлично подцепляется)
    Так что в общем то с твоей стороны все работает)

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 08:28 30-08-2010 | Исправлено: Profrager, 08:29 30-08-2010
    qqqbbb

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Алгоритм сжатия wav файлов не всегда нормально работает. Есть 333мб wav файлов - сжатие 99,5%, если удалить wav из arc.groups  сжатие 73%

    Всего записей: 30 | Зарегистр. 25-07-2010 | Отправлено: 08:40 30-08-2010
    Bulat_Ziganshin

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    qqqbbb
    дай lt на обоих архивах и загрузи эти файлы куда-нибудь чтоб я мог посмотреть

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 08:42 30-08-2010
    qqqbbb

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

    Цитата:
    загрузи

    http://rghost.ru/2482787
     
    Когда сжимаешь wav файлы(любые) профиль best asymmetric сжимает хуже чем профиль normal

    Всего записей: 30 | Зарегистр. 25-07-2010 | Отправлено: 13:48 30-08-2010
    Bulat_Ziganshin

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

    Цитата:
    Когда сжимаешь wav файлы(любые) профиль best asymmetric сжимает хуже чем профиль normal

    ну да. зато скорость распаковки увеличивается

    Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 13:50 30-08-2010
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

    Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc: бесплатный open-source архиватор - Часть 3
    Widok (23-11-2010 11:37): Лимит страниц. Продолжаем здесь


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru