主要内容

编码器。StructType类

包:编码器
超类:编码器。ArrayType

代表的MATLAB结构数组可接受的输入规范

描述

的对象编码器。StructType指定生成的代码应该接受的结构数组。类中使用该类的对象arg游戏选择的codegen命令。不要将输入传递给生成的MEX函数。

创建

t = coder.typeof (structV创建一个编码器。StructType对象获取具有与标量结构相同字段的结构struct_v

t = coder.typeof (structV深圳variableDims创建一个编码器。StructType指定的上限大小深圳可变维度由variableDims.如果深圳指定对于一个维度,则该维度的大小为无界和可变大小。当深圳[]的上限大小structV保持不变。如果不指定variableDims,该类型的有界尺寸是固定的。当variableDims是标量,这个函数将这个值应用到有界维度上10,它们是固定的。

t= coder.newtype(“结构”,structV深圳variableDims创建一个编码器。StructType对象获取具有与标量结构相同字段的结构数组structV和上限尺寸深圳和可变尺寸表示variableDims.如果深圳指定对于一个维度,则假设该维度的大小是无界的,并且假设该维度是可变大小的。如果不指定variableDims,该类型的有界尺寸是固定的。当variableDims是标量,这个函数将这个值应用到有界维度上10,它们是固定的。

请注意

您可以创建和编辑编码器。类型对象通过使用编码器类型编辑器进行交互。看到使用编码器类型编辑器创建和编辑输入类型

输入参数

全部展开

输入结构变量,它指定新结构类型中的字段,指定为标量结构。

类型对象维度的大小,指定为整数向量。

选项指定每个维度是否具有可变大小,并指定为布尔向量。如果指定这个向量的一个元素为1,对应的尺寸是可变的。否则,维度的大小是固定的。

属性

全部展开

这种类型的结构以字节为单位的运行时内存对齐。

如果你有嵌入式编码器®许可证和使用代码替换库(CRLs),您可以将指定为替换函数输入的数据对象对齐到指定的边界。使用此功能可以利用需要对齐数据的特定于目标的函数实现。默认情况下,该类不会将结构与特定的边界对齐,这意味着需要对齐的CRL函数与默认结构不匹配。

值类名,作为字符串标量返回。

指示结构是否在外部定义,返回为10.的值1指示结构是在外部定义的。的值0指示结构是在内部定义的。

结构中的字段类型,指定为结构。

外部头文件名,作为非空字符向量或字符串标量返回。如果结构类型是外部定义的,则包含结构的外部定义的头文件的名称,例如,“mystruct.h”方法指定文件的路径codegen-我选择或其他包括目录参数自定义代码选项卡的MATLAB®编码器™项目设置。

默认情况下,生成的代码包含# include标准头文件之后的自定义头文件的语句。如果标准头文件引用自定义结构类型,则编译失败。通过指定HeaderFile财产,MATLAB编码器在所需的位置包含头文件。

类型对象的上界,指定为整数或标量整数的向量。

选项指定数组的每个维度的大小是固定的还是可变的。的值1指示对应的元素具有可变的大小。的值0指示对应的元素具有固定的大小。

例子

全部折叠

这个例子展示了如何为具有可变大小字段的结构创建类型。

使用创建类型对象coder.typeof

x.a =编码器。typeof(0,[3 5],1); x.b = magic(3); t = coder.typeof(x)
t =编码器。StructType 1×1 struct a::3×:5 double b: 3×3 double

创建外部定义的结构类型

创建一个外部定义的结构类型。

s.a. = coder.typeof(双(0));mit获得= coder.typeof(单(0));T = coder.typeof(年代);T = coder.cstructname (T)“mytype”“外来的”HeaderFile =“myheader.h”);

查看结构字段的类型。

T.Fields
ans =结构体字段:答:[1 x1编码器。PrimitiveType]b: [1x1 coder.PrimitiveType]

创建一个结构类型。

ta =编码器。newtype(“int8”,[1]);结核病=编码器。newtype(“双”,[1 - 2],[1]);z = coder.newtype(结构体,结构体(ta ' a ', ' b ', tb))
编码器。StructType 1x1 struct a: 1x1 int8 b::1x:2 double

为MATLAB函数生成一个C库fcn.m它有一个此类型的输入参数。

Codegen -config:lib FCN -args {z}

版本历史

介绍了R2011a

Baidu
map