Мне было интересно, есть ли инструмент, способный создавать код чтения и записи C HDF5 из структуры данных C.
Я хотел бы, чтобы этот инструмент анализировал заголовочный файл C и генерировал соответствующий код чтения/записи C HDF5.
Можно различать случай статического распределения и динамического распределения. В первый раз меня интересовало бы только статическое распределение.
Например, я хотел бы сгенерировать следующий код из определения структуры sensor_t, которая содержит одно целое и два числа типа double. Отображаемый код представляет собой прямое преобразование структуры C typedef в структуру C HDF5.
typedef struct {
int serial_no;
double temperature;
double pressure;
} sensor_t;
#include "hdf5.h"
hid_t memtype;
herr_t status;
memtype = H5Tcreate (H5T_COMPOUND, sizeof (sensor_t));
status = H5Tinsert (memtype, "serial_no", HOFFSET (sensor_t, serial_no), H5T_NATIVE_INT);
status = H5Tinsert (memtype, "temperature", HOFFSET (sensor_t, temperature), H5T_NATIVE_DOUBLE);
status = H5Tinsert (memtype, "pressure", HOFFSET (sensor_t, pressure), H5T_NATIVE_DOUBLE);
sensor_t wdata[1];
status = H5Dread (dset, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, rdata);
status = H5Dwrite (dset, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata);
Я безуспешно просматривал веб-сайт hdf
Я знаю, что некоторые пытались использовать HDF4 с помощью Perl-скрипта