Zastanawiam się, czy istnieje narzędzie umożliwiające wygenerowanie C HDF5 odczytu i zapisu kodu ze struktury danych C.Generowanie kodu HDF5 C
Chciałbym, aby to narzędzie przetworzyło plik nagłówkowy C i wygenerowało odpowiedni kod odczytu/zapisu C HDF5.
Można rozróżnić przypadek alokacji statycznej i alokacji dynamicznej. Po raz pierwszy interesowałoby mnie tylko przydzielanie statyczne.
Na przykład, chciałbym wygenerować następujący kod z definicji struktury sensor_t, która zawiera jeden int i dwa podwójne. Wyświetlany kod jest bezpośrednią konwersją struktury C typedef do struktury 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);
Szukałem na stronie hdf bez powodzenia
Wiem, że niektórzy próbowali za HDF4 ze skryptu Perl
http://www.srl.caltech.edu/ACE/ASC/exhdfgen/index.htm