marc

DLL marc 1.2.4

Нет прав для скачивания

sergey3695

Ветеран
Модератор
sergey3695 submitted a new resource:

marc - marc, unarc, multithreading

Библиотека для FreeArc с поддержкой распаковки различных архивов в несколько потоков (ограничение по числу потоков процессора. максимальное 64).
Последний параметр hmt - многопоточно ли запускаемое приложение, т.е. если стоит true, то приложение подождет все запущенные и запуститься, остальные будут ждать его завершения.
ISWaitAll ожидание завершения всех потоков.
ISExec запускает приложение и ждет его завершения.
ISSetRussian переключает сообщения внутри библиотеки на русский, по умолчанию...
Read more about this resource...
 

Andreo Fadio

Старожил
@sergey3695, а если выбрать мультипоточность в параметрах, а ее поддержки нет у конечного пользователя - вылетов и ошибок не будет при распаковке?
 

sergey3695

Ветеран
Модератор
Последнее редактирование:

sergey3695

Ветеран
Модератор
@Andreo Fadio, hmt параметр означает, что не будет ждать распаковки одного архива, а запустит следующий с hmt := false до тех пор пока не займет все логические ядра. например 4 поточный процессор будет 4 архива одновременно распаковывать. насчет потребления памяти - если какой-то архив много ест, то лучше его с hmt:=true запустить, т.к. нет проверки на память. Если архив запакован с помощью например 4x4; lzma2; xtool, то hmt должен быть true т.к. архивы и так запакованы многопоточно. Данный параметр имеет смысл использовать при распаковке однопоточно запакованных архивов (cls-bpk, звуки, что-то легкое или запаковано с lolz в один поток).
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
@Shegorat, использовал unicode. ansi уже давно нет поддержки, я даже не смотрел на ней.
 

sergey3695

Ветеран
Модератор
@Andreo Fadio, нет. собственный код. все рабочие полноценные примеры на pascal, тут c++ без crt (чисто winapi). @Shegorat, unicode по умолчанию в настройках стоит, так что поддержки не будет. Это надо отдельную для ansi собирать, как дома буду гляну.
 
Последнее редактирование:

Shegorat

Lord of Madness
Администратор
@Andreo Fadio, нет. собственный код. все рабочие полноценные примеры на pascal, тут c++ без crt (чисто winapi). @Shegorat, unicode по умолчанию в настройках стоит, так что поддержки не будет. Это надо отдельную для ansi собирать, как дома буду гляну.
Зачем отдельно собирать? Сделай просто 2 функции основную для юникода и второстепенную для Ansi (стандартный постфикс A/W). Во второстепенной будет приниматься char, преобразовываться в wchar_t и вызываться основная функция
 

Andreo Fadio

Старожил
@sergey3695, это же как надо модернизировать файл cls-srep_x86.exe? :D
 

sergey3695

Ветеран
Модератор

sergey3695

Ветеран
Модератор
@Shegorat, подожду когда unarc починишь, чтоб на прямую с inno пути читал, как PathFileExistsA например работает. Хотя тогда, IsDone не будет работать наверное.
 

Shegorat

Lord of Madness
Администратор
@sergey3695, ты предлагаешь сделать в unarc FreeArcExtractA/FreeArcExtractW функции?
Так это не про "починить", а про "добавить новый функционал"
 

Andreo Fadio

Старожил
@sergey3695, и как это библиотека с поддержкой распаковки различных архивов? 7z или Rar тоже может распаковать?)
 

Shegorat

Lord of Madness
Администратор
Обновление пока откладывается. Сегодня добавил более удобное использование компонентов, records для них, нажал сохранить проект и упала винда. Проект побился. Откатился к утру.
Поставь линуху и кросплатформенный компилер). Тем более, что ты стараешься не использовать CRT
 

sergey3695

Ветеран
Модератор
sergey3695 updated marc with a new update entry:

marc 1.1

- Добавил проверку для LoadLibraryEx
- Местами уменьшил код, привел типы (unsigned где надо, если и так известно, что не будет отрицательных значений)
- Изменил алгоритм. Теперь вызывается нужный callback, вместо идентификации по id потока. ~2% к скорости распаковки + 3,5 кб. к размеру.
- Более удобное использование компонентов
Максимум 256 компонентов. 0 основной, далее с 1 до 255.
ISComp(номер_используемого_компонента) Если ISComp не задан, то ISArcExtract с номером CurComponent пропускается. При...
Read the rest of this update entry...
 
Последнее редактирование:
Сверху