Hello HDF5 developers!
HDF5 library exposes a number of functions which take parameters in form
of C struct (H5E_error2, H5G_info_t, H5FD_class_t etc). It means that C
structs are efficiently a part of binary interface. However, such
interface causes some problems:
1) C struct layout is not guaranteed to be binary compatible among C
compilers. Even more, the same compiler may produce binary incompatible
struct layouts depending on compiler flags.
2) Languages other than C, although often having a notion of
tuple/record/struct, rarely have the exact, binary-compatible equivalent
of C struct (given 1), it's clear why). For example, both Delphi
"record" and Delphi "packed record" are not guaranteed to be binary
compatible with public structs from official HDF5 library release. It
makes using advanced HDF5 features from non-C languages harder.
It would be of great help if public HDF5 C structs were of some
documented, easy-to-support format, most preferably without field
alignment (Delphi "packed record"). Or maybe there is at least some
compiler flag to force no alignment for *public* structs (forcing no
alignment for all structs might be bad for performance, I presume)?
Best wishes,
Andrey Paramonov
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org