带有第三方过滤器的hdfc++
HDF5 C++ with third party filters
我正试图编写c++代码来创建一个HDF5数据集与第三方过滤器在这里列出:"https://support.hdfgroup.org/services/contributions.html"。我创建了一个snappy过滤器函数,它可以使用snappy库函数压缩和解压缩数据。我可以用快捷的过滤器来写和读,没有任何问题。但是,当我尝试通过h5dump读取数据时,即使使用正确的过滤器ID (snappy为32003),也没有得到任何输出。
我猜问题是h5dump没有访问我的过滤功能。还有别的办法吗?我可以以某种方式创建一个库并告诉h5dump从中获取函数吗?或者,由于过滤器已经注册到hdfgroup,我想我可以假设已经存在h5dump可以读取的过滤器函数的现有实现。我可以在我的c++代码中使用它来保持一致性吗?
是的,从HDF5 1.8.11版本开始,你可以使用[动态加载的过滤器](https://support.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf)。
您基本上需要创建一个过滤器函数的共享库,并通过将其放入特定文件夹(/usr/local/hdf5/lib/plugin
)或通过HDF5_PLUGIN_PATH
指定文件夹,使其可用于HDF5库。
作为一个例子,您可以查看h5py repo中的lzf过滤器。
还可以看看blossom,它是一个用于各种压缩算法的元压缩器,包括snappy.
相关文章:
- 带过滤器的现代迭代c++集合
- 如何将字符串添加到布谷鸟过滤器?
- 在事件过滤器之前发出对象的事件
- C++对开销较少的容器使用多个过滤器
- CBasePin 递增对拥有过滤器的引用.循环引用?
- Qt:事件过滤器在显示 QCompleter 时不接收按键
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- Qt 中的去抖动事件过滤器
- QT 事件过滤器 mouseEvent->pos().x() 始终为零,但 mouseEvent->pos().y() 工作正常
- 如何使用C++获取/设置OBS中的垂直滚动过滤器属性?
- ZeroMQ (cppzmq) 订阅者,过滤器以相同的字符串开头
- 有没有办法查询邮件过滤器是否已经生效?
- 使用指针使用过滤器重写字符数组
- 如何优化此侵蚀过滤器代码?
- 编译自己的 FFMPEG 过滤器
- 显式检查提升::日志过滤器?
- C++编译新的警告过滤器
- 我们无法在 Windows 10 中设置自定义密码过滤器
- CUDA 盒子过滤器如何工作?
- 带有第三方过滤器的hdfc++