Генерация кода HDF5 C

Мне было интересно, есть ли инструмент, способный создавать код чтения и записи 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

http://www.hdfgroup.org

Я знаю, что некоторые пытались использовать HDF4 с помощью Perl-скрипта

http://www.srl.caltech .edu/ACE/ASC/exhdfgen/index.htm

6
задан tshepang 19 February 2014 в 19:03
поделиться