名字C结构类型生成的代码
coder.cstructname
生成的名字或外部定义的C结构类型使用MATLAB®变量表示为结构生成的代码。
coder.cstructname (
名称为MATLAB生成的C结构类型变量var
,structName
)var
。输入var
可以是一个结构或一个细胞数组。在一个函数中使用这个语法的生成代码。的地方coder.cstructname
后的定义var
在第一次使用之前var
。如果var
是一个入口点(顶级)函数输入参数,coder.cstructname
初的功能,在任何控制流语句之前。
coder.cstructname (
指定使用的C结构类型var
,structName
“外来的”,“HeaderFile”,headerfile
)var
有名字structName
在外部文件中定义,headerfileName
。
可以使用“外来的”
没有指定头文件选项。然而,这是一个最佳实践来指定头文件代码生成器生成的# include
声明在正确的位置。
coder.cstructname (
还指定运行时内存对齐的外部定义结构类型var
,structName
“外来的”,“HeaderFile”,headerfile
“对齐”,对齐
)structName
。如果你有嵌入式编码器®和使用自定义代码替换库(利用),指定对齐,这样代码生成器可以匹配CRL函数需要对齐的结构。看到代码替换数据对齐(嵌入式编码)。
返回一个结构或单元阵列类型对象outtype
= coder.cstructname (intype
,structName
)outtype
指定生成的C结构类型的名称。coder.cstructname
创建outtype
输入类型的属性intype
。然后,它集TypeName
财产structName
。使用这种语法来创建一个对象,你使用codegen
arg游戏
选择。你不能在一个函数中使用这个语法的生成代码。
你不能使用这个语法MATLAB函数块。
返回一个对象类型outtype
= coder.cstructname (intype
,structName
“外来的”,“HeaderFile”,headerfile
)outtype
指定的名称和位置的外部定义C结构类型。代码生成器使用的外部定义结构类型变量和类型outtype
。
你不能使用这个语法MATLAB函数块。
创建一个类型对象outtype
= coder.cstructname (intype
,structName
“外来的”,“HeaderFile”,headerfile
“对齐”,对齐
)outtype
还指定了C结构类型对齐。
你不能使用这个语法MATLAB函数块。
你不能申请coder.cstructname
直接一个全局变量。名称的结构类型使用一个全局变量,使用coder.cstructname
创建一个对象类型名称的结构类型。然后,当您运行codegen
,指定全局变量的类型。看到名字的C结构类型使用一个全局结构变量。
单元阵列输入的字段名称必须定义的外部结构f1
,f2
,等等。
你不能申请coder.cstructname
直接向一个类属性。
信息如何代码生成器决定了结构的C / c++类型字段,明白了MATLAB的类型映射到生成的代码类型。
使用coder.cstructname
在一个结构数组集合的名称结构类型的基本元素,而不是数组的名称。因此,不能适用coder.cstructname
一个结构数组元素,然后将它应用到不同的C结构类型名称数组。例如,下面的代码是不允许的。第二个coder.cstructname
试图设置的基类型名称myStructArrayName
与前面指定名称的冲突,myStructName
。
%定义标量结构与领域struct myStruct = (“一个”,0);coder.cstructname (myStruct“myStructName”);%定义数组结构领域myStructArray = repmat (myStruct 4 6);coder.cstructname (myStructArray“myStructArrayName”);
应用coder.cstructname
一个结构数组的一个元素产生相同的结果应用coder.cstructname
整个结构数组。如果你申请coder.cstructname
一个结构数组的一个元素,必须参考使用单一的元素下标。例如,您可以使用var (1)
,但不var (1, 1)
。应用coder.cstructname
来var (:)
作为应用产生相同的结果coder.cstructname
来var
或var (n)
。
异构单元数组表示为结构在生成的代码中。下面是使用注意事项coder.cstructname
细胞数组:
在一个函数的生成代码,使用coder.cstructname
与细胞数组变量使细胞异构数组。因此,如果一个单元阵列是一个入口点函数的输入及其类型永远是均匀的,那么你不能使用coder.cstructname
单元阵列。
使用coder.cstructname
用均匀coder.CellType
对象intype
返回的对象不同。因此,您不能使用coder.cstructname
与一个永久的均匀coder.CellType
对象。当一个单元阵列信息永远是均匀的,明白了在命令行中指定单元阵列的输入。
当使用一个coder.CellType
对象,coder.cstructname
创建一个coder.CellType
对象永久异构。
当你使用结构命名的coder.cstructname
项目中的行和列为主的阵列布局,代码生成器重命名结构在某些情况下,附加row_
或col_
结构的开始的名字。这个重命名提供了独特的类型定义中使用的类型两个阵列布局。
这些建议只适用于MATLAB函数块:
MATLAB函数块的输入和输出结构与总线信号相关联。生成的结构类型的名称来自总线信号名称。不要使用coder.cstructname
名字输入或输出信号的结构类型。看到创建结构MATLAB函数块(万博1manbetx模型)。
代码生成器产生结构类型名称根据标识符命名规则,即使你名字的结构类型coder.cstructname
。如果你有嵌入式程序员,您可以自定义的命名规则。看到建筑生成的标识符(嵌入式编码)。