主要内容gydF4y2Ba

命名要与全局结构变量一起使用的C结构类型gydF4y2Ba

这个示例展示了如何命名C结构类型,以便在为全局结构生成的代码中使用。gydF4y2Ba

要命名要用于结构变量的C结构类型,可以使用gydF4y2Bacoder.cstructnamegydF4y2Ba.但是,你不能申请gydF4y2Bacoder.cstructnamegydF4y2Ba直接指向函数内部的全局变量。相反,可以用以下方式之一指定C结构类型名:gydF4y2Ba

  • 在命令行,使用gydF4y2Bacoder.cstructnamegydF4y2Ba创建命名C结构类型的类型对象。当您运行gydF4y2BacodegengydF4y2Ba,指定全局变量具有该类型。gydF4y2Ba

  • 在MATLAB®Coder™应用程序中,定义和初始化一个全局变量后,在结构属性对话框中指定C结构类型名称。gydF4y2Ba

还可以使用这些方法为全局单元格数组命名C结构类型。gydF4y2Ba

编写一个使用全局变量的MATLAB函数gydF4y2Ba

编写MATLAB®函数gydF4y2BagetmyfieldgydF4y2Ba返回字段gydF4y2Ba一个gydF4y2Ba的全局变量gydF4y2BaggydF4y2Ba.gydF4y2Ba

类型gydF4y2BagetmyfieldgydF4y2Ba
function y = getmyfield() % Copyright 2018 The MathWorks, Inc. %#codegen global g;y = g.a;结束gydF4y2Ba

在命令行指定C结构类型名称gydF4y2Ba

  1. 定义和初始化一个全局结构gydF4y2BaggydF4y2Ba.gydF4y2Ba

  2. 使用gydF4y2Bacoder.cstructnamegydF4y2Ba创建一个类型对象gydF4y2BaTgydF4y2Ba它的性质是gydF4y2BaggydF4y2Ba并命名生成的C结构类型gydF4y2BamytypegydF4y2Ba.gydF4y2Ba

  3. 生成的代码gydF4y2BagetmyfieldgydF4y2Ba指定,gydF4y2BaggydF4y2Ba类型是全局变量吗gydF4y2BaTgydF4y2Ba.gydF4y2Ba

全球gydF4y2Bastruct = struct(gydF4y2Ba“一个”gydF4y2Ba5);T = coder.cstructname (g,gydF4y2Ba“mytype”gydF4y2Ba);codegengydF4y2Ba配置:自由gydF4y2Ba全局变量gydF4y2Ba{' g ' T}gydF4y2BagetmyfieldgydF4y2Ba
代码生成成功。gydF4y2Ba

在生成的代码中,gydF4y2BaggydF4y2Ba有类型gydF4y2BamytypegydF4y2Ba.gydF4y2Ba

mytype g;gydF4y2Ba

生成的C结构类型gydF4y2BamytypegydF4y2Ba是:gydF4y2Ba

Typedef struct {double a;} mytype;gydF4y2Ba

在MATLAB编码器应用程序中指定C结构类型名称gydF4y2Ba

  1. 打开MATLAB Coder应用程序并指定您想要生成的代码gydF4y2BagetmyfieldsgydF4y2Ba.gydF4y2Ba

  2. 在gydF4y2Ba定义输入类型gydF4y2Ba页面,点击gydF4y2Ba增加全球gydF4y2Ba.gydF4y2Ba

  3. 单击全局变量旁边的字段gydF4y2BaggydF4y2Ba.然后,单击gydF4y2Ba定义初始值gydF4y2Ba.gydF4y2Ba

  4. 输入gydF4y2Ba结构(' a ', 5)gydF4y2Ba.gydF4y2Ba

  5. 指定要使用的C结构类型名称gydF4y2BaggydF4y2Ba,点击齿轮图标。gydF4y2Ba

  6. 在“属性”对话框中,在gydF4y2BaC类型定义名gydF4y2Ba,输入gydF4y2BamytypegydF4y2Ba.gydF4y2Ba

或者,如果你定义gydF4y2BaggydF4y2Ba的类型对象gydF4y2BaggydF4y2Ba在工作区中,您可以输入gydF4y2BaggydF4y2Ba或将type对象作为初始值。gydF4y2Ba

另请参阅gydF4y2Ba

相关话题gydF4y2Ba