Я подумываю начать работу над библиотекой для Linux, которая предоставит разработчикам приложений виртуальную файловую систему, в которой файлы будут храниться в архиве, а каждый файл в архиве будет сжат по отдельности, чтобы можно было извлечь один файл. это очень простая задача для разработчика, для процессора и жесткого диска. (Нет сложного API, нет необходимости распаковывать гигабайты данных, только релевантные данные и извлекать только релевантные данные, а не весь архив)
Я использовал popen, чтобы получить стандартный вывод команды, прежде чем использовать C ++ здесь, в Linux, но я не знаю, как передавать и выводить данные, и некоторые конкретные советы по bzip2 были бы хорошими. Я написал нечто похожее на это несколько лет назад, но оно включало библиотеку сжатия Хаффмана в виде DLL, вместо того, чтобы передавать данные и использовать стандартный инструмент. (это было в мои дни Windows.)