主要内容

编码器。StructType类

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

代表的MATLAB结构数组

描述

指定生成的代码应接受的结构数组集。只能与codegenarg游戏选择。不要将输入传递给生成的MEX函数。

建设

请注意

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

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

t = coder.typeof (struct_v深圳variable_dims的修改副本coder.typeof (struct_v)指定的(上限)尺寸深圳和变量维度variable_dims.如果深圳指定对于一个维度,则假设该维度的大小是无界的,并且该维度的大小是可变的。当深圳的(上限)大小是[]吗struct_v保持不变。如果variable_dims如果未指定输入参数,则假设该类型的维度是固定的,除非是无边界的维度。当variable_dims一个标量,它被应用到不是标量的有界维度上吗10(假设是固定的)。

t= coder.newtype(“结构”,struct_v深圳variable_dims创建一个编码器。StructType对象,该对象为具有与标量结构相同字段的结构数组struct_v和(上限)大小深圳和变量维度variable_dims.如果深圳指定对于一个维度,则假设该维度的大小是无界的,并且该维度的大小是可变的。当variable_dims未指定时,则假定该类型的维度是固定的,除非是不受限制的维度。当variable_dims是标量,它应用于类型的维数,除非维数是10,这被认为是固定的。

输入参数

struct_v

用于指定新结构类型中的字段的标量结构。

深圳

指定类型对象的每个维度的大小向量。

默认值:[1]coder.newtype

variable_dims

指定每个维度是可变大小(真)还是固定大小(假)的逻辑向量。

默认值:false(size(sz)) | sz==Inf forcoder.newtype

属性

对齐

以字节为单位的这种结构的运行时内存对齐。如果你有嵌入式编码器®许可证和使用代码替换库(crl), crl提供了将传递到替换函数中的数据对象对齐到指定边界的能力。此功能允许您利用需要对齐数据的特定目标函数实现。默认情况下,结构没有在特定边界上对齐,因此需要对齐的CRL函数不会匹配它。

对齐必须是-1或者是幂2那只不过是128

类名称

集合中值的一类。

走读生

结构类型是否在外部定义。

字段

一种结构编码器。类型结构中每个字段的。

HeaderFile

如果结构类型是外部定义的,则包含结构外部定义的头文件的名称,例如,“mystruct.h”属性指定文件的路径codegen-我选择或其他包括目录参数MATLAB®编码器™项目设置对话框自定义代码选项卡。

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

必须是一个非空字符向量或字符串标量。

SizeVector

这个集合中数组的上限大小。

VariableDims

用于指定数组的每个维度是固定大小还是可变大小的向量。如果向量元素是真正的,对应的尺寸是可变的。

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象

例子

为具有可变大小字段的结构创建类型。

x.a =编码器。typeof(0,[3 5],1); x.b = magic(3); coder.typeof(x) % Returns % coder.StructType % 1x1 struct % a: :3x:5 double % b: 3x3 double % ':' indicates variable-size dimensions

创建一个编码器。StructType然后调用对象codegen生成一个函数的C库fcn.m它有一个这种类型的输入参数

  1. 创建一个新的结构类型。

    ta =编码器。newtype(“int8”,[1]);结核病=编码器。newtype(“双”,[1 - 2],[1]);z = coder.newtype('struct',struct('a',ta,'b',tb)) %返回% coder。StructType % 1x1 struct % a: 1x1 int8 % b::1x:2 double
  2. 调用codegen为MATLAB函数生成一个C语言库fcn.m它有一个这种类型的输入参数。

    %使用-config:lib选项生成C库代码生成

创建一个编码器。StructType使用外部定义的结构类型的。

  1. 创建使用外部定义结构类型的类型。

    s.a. = coder.typeof(双(0));mit获得= coder.typeof(单(0));T = coder.typeof(年代);T = coder.cstructname (T)“mytype”“外来的”“HeaderFile”“myheader.h”);
    T =编码器。StructType1x1 extern mytype (myheader.h) struct a: 1x1 double b: 1x1 single
  2. 查看结构字段的类型。

    T.Fields
    Ans = a: [1x1编码器。PrimitiveType]b: [1x1 coder.PrimitiveType]
介绍了R2011a