matlab link offset,确定字段在结构体内的偏移量

H5ML.hoffset

确定字段在结构体内的偏移量

注意

不推荐使用 H5ML.hoffset。请改用 H5T。

语法

说明

此函数用于确定字段内的结构体偏移量 H5T.insert(file_type,'a', offset(1), dtype(1));(以字节为单位)。构造 HDF5 COMPOUND 类型时使用此函数。它旨在与 HDF5 HOFFSET 宏相对应。有关 HOFFSET 宏运算的更多详细信息,请查阅 HDF5 文档。

函数参数:

offset字段在结构体内的字节偏移量。

structure包含指定字段名称的结构体。

fieldname用于确定偏移量的字段。

示例

此函数已被弃用。此函数仅可用于不包含自身作为 HDF5 COMPOUND 或可变长度的字段的工作流。要处理这些情况,应直接计算偏移量。例如,在上述情况下,可以通过以下语句为上述复合数据创建文件数据空间:

dtype(1) = H5T.copy('H5T_NATIVE_INT');

dtype(2) = H5T.copy('H5T_NATIVE_DOUBLE');

dtype(3) = H5T.copy('H5T_NATIVE_FLOAT');

for j = 1:3, sz(j,1) = H5T.get_size(dtype(j)); end

% The first offset would always be zero and the size of the last

% field does not matter.

offset(1) = 0;

offset(2:3) = cumsum(sz(1:2));

file_type = H5T.create('H5T_COMPOUND',sum(sz));

H5T.insert(file_type,'a', offset(1), dtype(1));

H5T.insert(file_type,'b', offset(2), dtype(2));

H5T.insert(file_type,'c', offset(3), dtype(3));