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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    ruduk

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

    Цитата:
    по подробнее можно?

    Пропиши строку в текстовый файл и сохрани его как .bat.

    Всего записей: 123 | Зарегистр. 08-02-2009 | Отправлено: 20:57 25-08-2010 | Исправлено: ruduk, 20:58 25-08-2010
    Fokser163

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V2driver    так и написал бы что те лень объяснить, москва не сразу строилась все были нубами в этом деле

    Всего записей: 12 | Зарегистр. 19-07-2010 | Отправлено: 21:45 25-08-2010 | Исправлено: Fokser163, 07:32 26-08-2010
    V2driver



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fokser163 может лучше сначала с мозгом связать?

    Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 22:08 25-08-2010
    Profrager



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

    Код:
    FARPROC LoadFromDLL (char *funcname, int only_facompress_mt)
    {
    #ifdef FREEARC_WIN  // Non-Windows platforms aren't yet supported
      static bool loaded = FALSE;
      static HMODULE dll = NULL,  dll2 = NULL;
     
      if (!loaded)
      {
        loaded = TRUE;
     
        // Get program's executable filename
        wchar_t path[MY_FILENAME_MAX];
        GetModuleFileNameW (NULL, path, MY_FILENAME_MAX);
    ...

    А можно специально для unarc.dll в функции GetModuleFileNameW вместо Null подставлять HInstance из чего-нить типа такого:

    Код:
    HINSTANCE hInst;
    ...
    BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
    {  
    if (fdwReason == DLL_PROCESS_ATTACH)
      hInst = hinstDll;
    }
    ...
    use hInst in program
    ...

    а то получается, что InnoSetup сначала распаковывает в некую свою папку темп модуль setup.tmp и запускает его как новый процесс. Соответственно из него и происходят все действия и подцепления dll'ок, и функция GetModuleFileNameW (NULL, path, MY_FILENAME_MAX) возвращает путь именно к нему, что очень не удобно. Потому как приходится специально копировать facompress.dll рядом с этим setup.tmp, а потом вручную удалять. Было бы на много удобнее, чтобы путь определялся как путь текущей dll, а не прилинковавшего её процесса.

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 22:15 25-08-2010 | Исправлено: Profrager, 22:36 25-08-2010
    ruduk

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    Как при помощи Arc.exe удалить каталог из архива? Сколько не делал - файлы из каталога удаляются, а сам каталог остается, пустой... Приходится его вручную удалять при помощи FreeArc.exe

    Всего записей: 123 | Зарегистр. 08-02-2009 | Отправлено: 10:16 26-08-2010
    egor23



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    Контекстное меню
    вроде подымался вопрос про пункты Открыть архив и т.п. на файлах не с расширением arc, это планирутеся?
     
    Добавлено:
    Bulat_Ziganshin
    FreeArc GUI
    Обратил внимание, что не всегда срабатывает двойной клик на папках, двойной клик делается как обычно быстро, если делать двойной клик медленно, с задержкой 0.5сек между кликами, то заходит с первого раза.
    Проблема есть как внутри архива, так и просто с папками:
    Напрмиер:
    pc\sds\video\arc.languages\
    pc.arc\pc\sds\video\arc.languages\
    начиная с папки sds и ниже войти с первого быстрого двойного клика не получается
    http://gettyfile.ru/610165/

    Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 14:25 26-08-2010 | Исправлено: egor23, 14:53 26-08-2010
    V2driver



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

    Цитата:
    1. пользователи хотят видеть в контекстных меню только операции, допустимые над данным конкретным файлом. законное право - не ломать себе глаза в простыне чёрт знает чего  
     
    теперь выяснилось и второе - не всегда можно определить что это архив только по расширению. в принципе я и так уже лезу внутрь exe чтобы определить freearc sfx, но лезть внутрь всех файлов, на которых вызывают к.м. - не комильфо. особенно учитывая что это потребует таскать с собой ещё и 64-битный 7z.dll  
     
    поэтому я предлагаю другой вариант - на файлах с архивными расширениями (втч указанными пользователем) делать меню для архива. на прочих файлах рисовать команды над архивами в подменю. глаза не мозолит, но в тех реджких случая когда оно всё же нужно - нате, берите  
     

     

    Цитата:
    egor23
    pc\sds\video\arc.languages\

    Второй мафией запахло =)

    Всего записей: 462 | Зарегистр. 01-02-2010 | Отправлено: 16:15 26-08-2010
    Bulat_Ziganshin

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

    Цитата:
    вроде подымался вопрос про пункты Открыть архив и т.п. на файлах не с расширением arc, это планирутеся?  

    ты имеешь в виду zip/7z или просто произвольные расширения? первое есть, второе готово, надо только в дистрибут занести
     

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

    может, при этом первый клик позиционирует курсор. посмотрю как время будет...
     

    Цитата:
    А можно специально для unarc.dll в функции GetModuleFileNameW вместо Null подставлять HInstance из чего-нить типа такого:

    счас сделаю
     

    Цитата:
    Как при помощи Arc.exe удалить каталог из архива? Сколько не делал - файлы из каталога удаляются, а сам каталог остается, пустой... Приходится его вручную удалять при помощи FreeArc.exe

    а ты посмотри какую команду он даёт... вообще с пустыми папками до сих пор бардак, уже года два как собираюсь исправить

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 16:00 27-08-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    небольшой вопросик: какие из следующих функций facompress.dll используются при распаковке

    Код:
      SetCompressionThreads
      Set_compress_all_at_once
      UpdateCRC
      CalcCRC
      lzma_compress
      lzma_decompress
      ppmd_compress2
      ppmd_decompress2
      grzip_compress
      grzip_decompress
      lzp_compress
      lzp_decompress
      dict_compress
      dict_decompress
      rep_compress
      rep_decompress

    ну понятно, что которые с префиксом decompress, а на счет остальных? Хочу минимизировать размер facompress.dll для распаковки
     
    Добавлено:
    и это...ссылочку на последние src мона?

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 18:10 27-08-2010 | Исправлено: Profrager, 18:10 27-08-2010
    Bulat_Ziganshin

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

    Цитата:
    небольшой вопросик: какие из следующих функций facompress.dll используются при распаковке  

    те, в которых нет слова compress  компилируй для своей dll с флагом FREEARC_DECOMPRESS_ONLY - они автоматом обрежутся
     

    Цитата:
    ссылочку на последние src мона?  

    http://forum.ru-board.com/topic.cgi?forum=5&topic=31386&start=0&limit=1&m=1#1

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    спасибо.
    И еще, возможно, глупый вопрос, но все же ответа на него с первого взгляда не вижу: почему для srep 4гб оперативки нормально выделяется, а для lzma больше 2,6гб никак? Или для srep'а не непрерывное пространство требуется?
     
    Добавлено:
    тьфу! Я ж srep64.exe переименовал в srep.exe) Вопрос снят

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 18:44 27-08-2010 | Исправлено: Profrager, 19:20 27-08-2010
    Bulat_Ziganshin

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

    Цитата:
    А можно специально для unarc.dll в функции GetModuleFileNameW вместо Null подставлять HInstance из чего-нить типа такого:  

    непроверено: http://freearc.org/download/testing/unarc-dll.arc  
     
    кстати, в facompress.dll несколько изменгений, так что со старыми оно несовместимо

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 19:37 27-08-2010
    Profrager



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

    Цитата:
    непроверено: http://freearc.org/download/testing/unarc-dll.arc

    спасибо, сейчас проверю.

    Цитата:
    кстати, в facompress.dll несколько изменгений, так что со старыми оно несовместимо

    старым - это 0.666, или старым - 0.67а от 23.08.10? И как это не совместимо? Не будет распаковывать архив, созданный arc.exe v0.666 (или 0.67а от 23.08.10)?

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    старым - от 23 августа. просто нельзя смешивать unarc.dll и facompress.dll от разных версий - в facompress.dll изменились имена некоторых функций и их типы. пора бы организовать проверку версии при загрузке...

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 19:49 27-08-2010 | Исправлено: Bulat_Ziganshin, 19:50 27-08-2010
    Profrager



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

    Цитата:
    просто нельзя смешивать unarc.dll и facompress.dll от разных версий - в facompress.dll изменились имена некоторых функций и их типы

    Вижу ф-ии grzip'а поменялись. Ну мне они не требуются...так что мне не о чем беспокоиться

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    тип lzma_[de]compress поменялся тоже. ты проверь что всё работает, завтра я уже выпущу новую версию и компиляй сам что тебе нужно

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 20:09 27-08-2010
    Profrager



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

    Цитата:
    тип lzma_[de]compress поменялся тоже. ты проверь что всё работает, завтра я уже выпущу новую версию и компиляй сам что тебе нужно

    оки оки. В процессе.
    P.S. не забывай юзать iccpatch на dllках

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

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

    Цитата:
    не забывай юзать iccpatch на dllках  

    afaik, на dll он не нужен

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 20:16 27-08-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Bulat_Ziganshin
    для facompress.dll есть разница. Помнится ты как-то просил потестить с ним и без него. Для lzma разница, конечно, минимальна, но для того же grzip было конкретное ускорение на amd.

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

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

    Всего записей: 3408 | Зарегистр. 13-08-2007 | Отправлено: 20:42 27-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