用于从通用磁盘格式设备或文件读取的 C/C++ 库 [关闭]

Posted

技术标签:

【中文标题】用于从通用磁盘格式设备或文件读取的 C/C++ 库 [关闭]【英文标题】:C/C++ Libraries for reading from Universal Disk Format devices or files [closed] 【发布时间】:2009-09-24 11:32:45 【问题描述】:

是否有任何优秀的免费 C/C++ 库可以从具有 UDF 和 ISO9660 等文件系统的常见设备中读取并提取文件/元数据等?

到目前为止,我能找到的只有 GNUs libcdio,它很有希望,还有一些 "Magic UDF",它有如此多的点击量,我很反感,在 Google 中推出了其他结果,而且价格看起来非常极端标记。

跨平台支持更可取(当然是个人偏好),但不幸的是,Windows 兼容性是一项要求。许可证限制越少越好,我还没有调查 libcdio 的 GPLv3 许可证的兼容性。

请注意,这个问题仍然悬而未决,如果有人找到这样的图书馆,我会接受另一个答案。

【问题讨论】:

【参考方案1】:

经过广泛调查,我最终推出了自己的解决方案来执行我需要的 UDF 操作。我无法打开源代码,总共大约有 800 行 C++。然而,这里有几个链接让我通过:

The reference standard on which UDF is built Universal Disk Format specification 2.60 Brief introduction to UDF Wikipedia Page UDF Verifier tool(您必须注册才能访问)

几句警告:以前实施 ISO9660/ECMA-119 的经验对我有很大帮助。了解块设备如何操作以及如何与操作系统交互是有帮助的。围绕物理布局和会话分离的信息有些神秘且难以理解。

【讨论】:

是否有可能将您的阅读器作为图书馆发布? @Dilawar:对不起,没有。这是给以前的雇主的,我早就离开了。【参考方案2】:

见:http://www.thefreecountry.com/sourcecode/cpp.shtml

【讨论】:

我在那里找不到任何相关的东西,至少不是通过搜索文本“ISO”、“UDF”或“9660”。 免费,但与 UDF、ISO 或任何其他图像格式无关。【参考方案3】:

这方面有很多开源库,但可靠性是个问题。

在 Windows 上,您可以使用 Image Mastering API。它带有 Window SDK ,可在 XP 和 Vista 上运行

http://msdn.microsoft.com/en-us/library/aa364806%28VS.85%29.aspx

【讨论】:

看起来 IMAPI 仅用于刻录和创建图像。它不会打开现有的图像或设备。【参考方案4】:

7-Zip 支持从 UDF 和 ISO 磁盘映像中提取文件,并且大部分是 LGPL 许可的。具体来说,UDF 实现代码似乎在CPP/7zip/Archive/Udf/UdfIn.cpp 中。

【讨论】:

7z 程序似乎利用了 COM,但库中没有实际的 UDF 实现代码。 @Anacrolix:它使用的 COM 组件是 7-Zip 源代码树的一部分。

以上是关于用于从通用磁盘格式设备或文件读取的 C/C++ 库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

dd备份指令

如何使用C / C ++套接字从HTTP读取二进制文件

使用 C/C++ 访问 RAW 磁盘

用于 .wav 文件编码的 C/C++ 库

c/c++编译htslib

Java中的AutoCAD库读取.dwg文件?