我最近将我的 Hdf5DotNet 包装库从 1.8.6 升级到 1.8.7,并注意到 H5F.flush() 方法已被删除。有人知道这背后的原因吗?
问问题
319 次
1 回答
1
我没有看到任何关于为什么将其删除的迹象-据我所知,它仍然存在于本机 DLL 和 C 样式标头中-参考手册并未将其标记为已弃用或类似。
当从托管代码(例如 open 函数)调用时,V 1.8.7 似乎有一些“特殊效果”,例如不平衡堆栈(由于与调用约定有些不一致)......我没有尝试但添加H5F.flush
回.NET 包装器相当简单...如果您确实需要它,我建议您这样做...如果这会产生比不平衡堆栈更大的问题,则始终可以通过使用正确的“本机代理 DLL”来克服调用约定并使用 .NET 包装器中的约定。
编辑 - 根据评论:
可用的 .NET 包装器似乎相当薄弱,有时不完整等 - 由于源代码可用,因此实现 .NET 包装器似乎是一项可行的任务。
作为起点,请参阅:
于 2011-09-27T20:51:12.927 回答