I recently upgraded my Hdf5DotNet wrapper library from 1.8.6 to 1.8.7 and noticed that the H5F.flush() method wa开发者_开发百科s removed. Anyone know the reasoning behind this?
I don't see any indication as to why this was removed - from what I gather it is still present in the native DLL and in the C-style header - the reference manual doesn't mark it as deprecated or similar.
V 1.8.7 seems to have some "special effects" like imbalancing the stack (due to some inconsistency with calling conventions) when called from managed code (for example the open function)... I didn't try it but adding back H5F.flush
into the .NET wrapper is rather easy... I would suggest to do it IF you really need it... IF this creates even bigger problem than an imbalanced stack this can always be overcome by impelementing a "native proxy DLL" with the correct calling conventions and using that from the .NET wrapper.
EDIT - as per comments:
The available .NET wrappers seem rather weak, sometime incomplete etc. - Since the source is available implementing a .NET wrapper seems a doable task.
As a starting point see:
- http://hdf5.net/downloads/HDF5DotNet-src.zip
- http://www.hdfgroup.org/ftp/HDF5/hdf5-1.8.7/src/
精彩评论