我正在考虑在Linux库上开始工作,该库将为应用程序开发人员提供一个虚拟文件系统,其中文件将存储在归档文件中,并且归档文件中的每个文件都将被单独压缩,因此对单个文件的检索非常简单。对于开发人员,CPU和硬盘驱动器而言,这是一项简单的任务。 (无需复杂的API,无需解压缩大量数据,只需解压缩相关数据,仅检索相关数据,而不是整个存档)
在Linux上使用C++之前,我曾使用过popen来检索命令的stdout,但我不知道如何通过管道传送数据和取出数据,并且一些bzip2特定技巧将是不错的。我写的东西类似于几年前,但是它包含一个霍夫曼压缩库作为dll,而不必通过管道传输数据和使用标准工具。 (那是我在Windows时代的记忆。)
最佳答案
bzip2有一个library interface -与调用子流程相比,它可能对您来说更容易。
我建议您还看看GIO library,它已经是“面向应用程序开发人员的虚拟文件系统”;与从头开始编写库VFS相比,扩展该功能以完成所需的工作可能要少得多。