C++ межплатформенная zlib simplifer-обертка

Наличие всех ваших уникальных идентификаторов действительно облегчит вашу жизнь.

10
задан 6 November 2008 в 02:11
поделиться

6 ответов

В повышении:: iostreams там является возможностью использовать zlib, gzip и bzip2 форматы.

Вы находите его из http://www.boost.org/

12
ответ дан 3 December 2019 в 14:54
поделиться

В zlib исходном архиве существует вклад, названный "мини-zip".

"мини-zip" является рядом файлов, которые можно использовать для проигрывания с .zip файлами. Базовые услуги, в которых Вы нуждаетесь, уже там:

  • unzOpen
  • unzLocateFile
  • unzOpenCurrentFile
  • unzGetCurrentFileInfo
  • unzCloseCurrentFile
  • unzClose

Конечно, это не объектно-ориентировано (и я уверен, что это не было целью создателя мини-zip), но запись, что простой объект ориентировался, обертка должна быть легкой.

9
ответ дан 3 December 2019 в 14:54
поделиться

легкий zlib firstobject остается межплатформенным; это имеет zlib в единственном файле easyzlib.c и выставляет только ezcompress и функции ezuncompress с дополнительной функцией определения требования к памяти прежде, чем выделить точный размер.

3
ответ дан 3 December 2019 в 14:54
поделиться

Вы могли попытаться захватить код из другого проекта FOSS. ScummVM, например, имеет очень портативную обертку Zlib (реализация, заголовок) со всеми функциями, в которых Вы нуждаетесь плюс уровень OO для взаимодействия через интерфейс в общем с любым другим видом архива.

Возможно, это - хорошая начальная точка? Функции обертки являются полностью автономными и портативными (heck, они даже работают над DS Nintendo), но уровень OO зависит от многих пользовательских классов, которые может быть трудно добавить к Вашему собственному проекту.

2
ответ дан 3 December 2019 в 14:54
поделиться

GZStream заслуживает внимания. Это хорошая кроссплатформенная оболочка для ZLib, которая расширяет классы iostream STL.

http://www.cs.unc.edu/Research/compgeom/gzstream/

Чем хороша эта оболочка над некоторыми из во-вторых, если вы работаете с очень большими архивами, вам не нужно загружать весь набор данных в память.

2
ответ дан 3 December 2019 в 14:54
поделиться

Если вы будете использовать minizip - обратите внимание, эта версия, поставляемая с zlib 1.2.3, имеет ограничение на 2GB результирующий zip файл. IT будет создавать zip с размером >2GB - но вы не сможете их открыть...

1
ответ дан 3 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: