C データ構造から C HDF5 読み取りおよび書き込みコードを生成できるツールがあるかどうか疑問に思っていました。
そのツールで C ヘッダー ファイルを解析し、対応する C HDF5 読み取り/書き込みコードを生成したいと考えています。
静的割り当てと動的割り当てのケースを区別できます。初めて、私は静的割り当てだけに興味があります。
たとえば、1 つの int と 2 つの double を含む構造体 sensor_t の定義から次のコードを生成したいと考えています。表示されるコードは、typedef C 構造体を 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のウェブサイトを見てきました
Perlスクリプトを使用してHDF4を試した人もいることを知っています